لوحة المتصدرين
المحتوى الأكثر حصولًا على سمعة جيدة
المحتوى الأعلى تقييمًا في 05/19/22 في كل الموقع
-
عندما اكتب هذا الكود: import "bootstrap/dist/css/bootstrap.min.css"; import "bootstrap/dist/js/bootstrap.min"; import "./sass/style.scss"; import "popper.js/dist/popper.min"; import "jquery/dist/jquery.min"; import "jquery/dist/jquery.slim"; import "@fortawesome/fontawesome-free/css/all.min.css"; import "@fortawesome/fontawesome-free/js/all.min"; let project_card = $('.card-project'); let card_img_overlay = $('.card-img-overlay'); $(function () { project_card.hover(function () { card_img_overlay.fadeIn(150) }, function () { card_img_overlay.fadeOut(150) }) }) لا يحدث شئ عندما امر علي العنصر وانا متاكد اني استدعيتهم بالطريقه الصحيحه1 نقطة
-
1 نقطة
-
يشير الكائن window لغرض جافاسكربت الرئيسي الذي يدل على نافذة المتصفح الذي يحوي الصفحة الحالية. document هو خاصية فرعية / غرض من غرض النافذة window.document وفيه جذر الصفحة root وكل العناصر التي يتم عرضها أو تم عمل render لها لتظهر للمستخدم. يمكنك استعراض خواص كل منهم بطباعة التالي في console: console.dir(window); console.dir(document); اختلاف استخدامهم: window: setTimeout() and setInterval() binding event handlers to a timer ربط الأحداث إلى مؤقت location giving the current URL إعادة رابط الصفحة الحالي history with methods back() and forward() giving the tab's mutable history تاريخ الروابط المزارة في الصفحة navigator describing the browser software إعطاء معلومات عن المتصفح المستخدم document: لها دوال للبحث في شجرة الصفحة document.getElementById("id") document.querySelector("#id") document.body.firstChild document.body.children[0] توثيق موسوعة حسوب ب JavaScript/Document1 نقطة
-
عندما نقوم بعمل تابع Method في صنف ما Class فإننا نقوم بتحديده كـ public أو private أو protected: <?php class User { public function SayHi() { //^^^^^^ ... } } لماذا علينا كتابة هذه الكلمة وما الفرق بين public و private و protected؟1 نقطة
-
تستخدم محددات الوصول للتحكم في مسار الكود ولسهولة تتبعه وفهم آليه عمله وبالتالي تكون صيانته وحمايته من الأخطاء أسهل، هنا شرح لمعنى كلٍ منهم: الكلمة المفتاحية public public تعني عام ويمكن الوصول لأي تابع عام public method من داخل جميع التوابع الأخرى الموجودة داخل نفس الصنف وفي حالة الوراثة أو من خلال الكائن المنشأ من هذا الصنف. <?php class User { public function SayHi() { // ... } public function Hello() { $this->SayHi(); // في حالة الوصول إلى التابع من داخل تابع آخر في نفس الصنف } } $user = new User(); // حالة إنشاء كائن من الصنف $user->SayHi(); class Admin extends User { public function Hello() { $this->sayHi(); // في حالة الوراثة } } الكلمة public هي إختيارية ويمكن عدم كتابتها كذلك بدون مشكلة، وأي تابع لم يتم تحديده (public أو private أو protected) فسوف يكون عام public بشكل إفتراضي، لكنها إجبارية في حالة الخواص properties الكلمة المفتاحية private private تعني خاص، فأي تابع يُعرف على أنه خاص لا يمكن إستخدامه إلا داخل الصنف class المعرف بها فقط فلا يمكن الوصول له من خلال كائن منشأ من هذا الصنف وأيضاً لا يمكن الوصول للمكونات الخاصة في حالة الوراثة. <?php class User { private function SayHi() { // ... } public function Hello() { $this->SayHi(); // في حالة الوصول إلى التابع من داخل تابع آخر في نفس الصنف } } $user = new User(); $user->SayHi(); //ERROR: حالة إنشاء كائن من الصنف class Admin extends User { public function Hello() { $this->sayHi(); //ERROR: في حالة الوراثة } } الكلمة المفتاحية protected protected تعني محمي، وهي أعم من الحالة السابقة فأي تابع يُعرف على أنه محمي protected يمكن إستخدامه داخل نفس الصنف وفي حالة الوراثة فقط ولكن لا يمكن الوصول لتوابع الصنف المحمية من خلال الكائن المنشأ من هذا الصنف: <?php class User { protected function SayHi() { // ... } public function Hello() { $this->SayHi(); // في حالة الوصول إلى التابع من داخل تابع آخر في نفس الصنف } } $user = new User(); $user->SayHi(); //ERROR: حالة إنشاء كائن من الصنف class Admin extends User { public function Hello() { $this->sayHi(); // في حالة الوراثة لا يوجد مشكلة } } يمكنك معرفة المزيد من خلال موسوعة حسوب: قابلية الرؤية في كائنات PHP1 نقطة
-
1 نقطة
-
ما الفائدة من react؟ الذي فهمته انها تجعل محتويات الصفحة كcomponent فقط، لكن فالنهاية هي تعطيني نتيجة كتعاملي مع css , html , js ارى ان التعامل كصفحة واحدة اسهل من التعامل مع component فما الجديد في react ?1 نقطة
-
تأكدت من تحميل كل الملفات وبرنامج cvcode ولكن يوجد مشكله الصفحه لا تقرا الكود ودائما تعطيني صفحه فارغه بيضاء ولاحظت ايضا ان رمز الملف index.php في الدرس الاول من التعريف بلغه php في الشرح الرمز يشبه الفيل عندما ينشئ الملف ولكن يظهر بشكل مختلف لدي هل يمكن ان تكون المشكله في الاصدار ؟؟ اتمنى الرد في اقرب وقت .1 نقطة
-
الشيفرة غير مقروءة أسماء المتغيرات ضمن التوابع مبهمة وتحتاج إلى توضيح، يمكنك حصر المشكلة ضمن تابع ما (مثلًا المشكلة في التابع add) وتعديل أسماء المتغيرات لتعبر عن البيانات التي تحويها وتصبح مقروءة بشكل أفضل، وإرفاق مثال لاستخدام سليم ومثال لاستخدام به مشكلة حتى يتوضح سؤالك بشكل أفضل ونستطيع المساعدة1 نقطة
-
يمكن عمل توابع ساكنة في لغة JavaScript بأكثر من طريقة: إنشاء التوابع الساكنة Static Methods في الأصناف Classes يمكن إستخدام الكلمة المفتاحية static لعمل تابع ساكن Static Method بالشكل التالي: class User { static hello() { console.log("Hello"); } } User.hello(); // Hello كما يمكن إسناد قيمة جديدة للصنف نفسه بشكل مباشرة على النحو التالي: class User { } User.hello = function() { console.log("Hello"); }; User.hello(); // Hello يمكن الإطلاع على المقالة التالية التي تحتوي على شرح مفصل لهذا الأمر وكيف يتم إنشاء التوابع بإستخدام prototype خلف الكواليس: إنشاء التوابع الساكنة Static Methods في الدوال البانية Constructor Function يمكن عمل توابع ساكنة Static Methods بإستخدام prototype بالشكل التالي: function Foo() { // يمكن إضافة التوابع العادية هنا عبر الكلمة المفتاحية this } Foo.prototype = { staticMethod: function () { return 2 + 3; } }; ويتم إستخدام التابع كما يلي: var sum = Foo.prototype.staticMethod(); console.log(sum); لاحظ أنه يمكن إستخدام نفس الطريقة لعمل توابع عادية instance methods بدون مشكلة: function User() { this.age = 23; } User.prototype = { instanceMethod: function () { // instance method return this.age * 365; }, staticMethod: function () { // static method return 2 + 3; } }; ويتم إستخدامهم بالشكل التالي: var sum = User.prototype.staticMethod(); // 5 var ageInDays = User.prototype.instanceMethod(); // NaN (undefined * 365) var user = new User(); var ageInDays2 = user.instanceMethod(); // 8395 var sum2 = user.staticMethod(); // 5 يمكن عمل دالة لتبسيط هذه العملية وإضافة توابع بشكل مباشر: (function (fn) { fn.bar = function () { return 123; } ; fn.baz = function () { return 456; } ; })( Foo.prototype ); Foo.prototype.bar(); // 1231 نقطة
-
الفرق بين التوابع الساكنة Static Methods والتوابع العادية التوابع العادية لا يمكن إستخدامها إلا من خلال إنشاء كائن Object (أو instance) من الصنف Class بالشكل التالي: <?php class User { public function SayHi() { echo "Hello World!"; } } $user = new User(); // يجب إنشاء كائن من الصنف $user->SayHi(); بينما التوابع الساكنة Static Methods يمكن إستدعائها مباشرة بدون الحاجة إلى إنشاء كائن جديد: <?php class User { static public function SayHi() { echo "Hello World!"; } } // لا يجب إنشاء نسخة كائن جديد من الصنف User User::SayHi(); // Hello World! لاحظ في الأمثلة السابقة يجب كتابة الكلمة المفتاحية static قبل تعريف التابع لعمل تابع ساكن Static Method، ولا يوجد مشكلة في كتابة كلمة static قبل أو بعد الكلمة المفتاحية public (الكلمة المفتاحية public في حد ذاتها إختيارية) لكن يجب كتابتها قبل الكلمة المفتاحية function، وبالتالي لا يوجد فرق بين أي من التوابع التالية: <?php class User { static public function SayHi() { echo "Hello World!"; } public static function SayHi2() { echo "Hello World!"; } static function SayHi3() { echo "Hello World!"; } } // لا يجب إنشاء نسخة كائن جديد من الصنف User User::SayHi(); // Hello World! User::SayHi2(); // Hello World! User::SayHi3(); // Hello World! أيضًا لاحظ أن التوابع الساكنة Static Methods يتم إستدعائها من خلال العلامة :: بينما التوابع العادية تستخدم <- على النحو التالي: <?php $user->sayHi(); User::sayHi(); ملاحظة: لا يمكن استخدام المتغير الزائف $this داخل التوابع الساكنة وذلك لأنّ هذه التوابع قابلة للاستدعاء دون الحاجة إلى إنشاء نسخة من الكائن. إستعمال أكثر من نوع من التوابع معًا يمكن أن يحتوي الصنف الواحد على توابع عادية وتوابع ساكنة معًا بدون مشكلة: <?php class greeting { public static function welcome() { echo "Hello World!"; } public function __construct() { self::welcome(); } } new greeting(); // "Hello World!" أيضًا لاحظ أنه يمكن إستدعاء التوابع الساكنة Static Methods من داخل نفس الصنف (في توابع أخرى) من خلال الكلمة المفتاحية self كما في المثال السابق. أيضًا يمكن إستدعاء تابع ساكن Static Method موجود في صنف أب من داخل صنف ابن على النحو التالي: <?php class User { protected static function sayHi() { return "Hello, World!"; } } class Admin extends User { public $hello; public function __construct() { $this->hello = parent::sayHi(); } } $admin = new Admin(); echo $admin -> hello; في المثال السابق يوجد تابع ساكن موجود في الصنف User (الصنف الأب) بينما الصنف الابن Admin يستدعي التابع sayHi الموجود في الصنف الأب مباشرة عبر الكلمة المفتاحية parent. متى يتم إستعمال التوابع الساكنة Static Methods يتم إستعمال التوابع الساكنة في حالات قليلة، منها: يمكن عمل صنف واحد يحتوي فقط على توابع ساكنة تقوم بأداة مهام متشابهة (أو تختص بأمر معين مثل إدارة الملفات على سبيل المثال). وفي هذه الحالة يمكن إعتبار التوابع الساكنة مجرد دوال عادية لكن موجودة في Namespace معين (وهو الصنف Class). يمكن إستخدامها في عمل Service وهي طريقة لترشيد التعليمات البرمجية الخاصة بك. يسمى هذا النوع من الهندسة المعمارية SOA (بنية موجهة للخدمة). فتخيل أن لديك متجر إلكتروني ويجب عمل صنف SaleHandler والذي يحتوي على كل الدوال التي يجب إستخدامها في التلاعب ببيانات مبيعة معينة (في قاعدة البيانات مثلًا)، في هذه الحالة سيكون من الأفضل أن يحتوي الصنف SaleHandler على توابع ساكنة Static Methods إن كنت تستعمل إطار عمل Framework مثل لارافيل Laravel فستجد أنه يتم إستعمال التوابع الساكنة في أكثر من مكان مثل عمل المسارات Routes أو توابع التعامل مع النصوص String. يمكنك معرفة المزيد عن التوابع الساكنة Static Methods وفائدتها من خلال موسوعة حسوب من هنا.1 نقطة
-
في البداية دعنا نوضح الخاصية createTextNode ، فمثلا نريد إنشاء عنصر نقوم باستخدام createElement كالتالي // أنشئ العنصر الجديد var newDiv = document.createElement("div"); ثم نريد إضافة محتوى لهذا العنصر عن طريق الخاصية createTextNode كالتالي // ضَع محتوى داخل العنصر var newContent = document.createTextNode("مرحبًا"); ثم نضيف المحتوى للعنصر المنشئ مسبقاً بهذه الطريقة // أضف عقدة النّص إلى العنصر المُنشأ newDiv.appendChild(newContent); وبالتالي نفهم بأن مهمة الخاصية createTextNode مهمتها إدخال محتوى للعنصر، أما خاصية innerHtml فهذه الخاصية تستطيع من إدخال وسم HTML بداخل العنصر مثل let div = document.createElement('div'); div.innerHTML = "<strong>Hi there!</strong> You've read1 نقطة
-
1 نقطة