Youssef Nasr2 نشر 30 سبتمبر 2022 أرسل تقرير نشر 30 سبتمبر 2022 السلام عليكم .. شكراا المقال جميل جدا , لو ممكن شرح ال ( رفع الدوال Hoisting ) ما فهمتها من المقال و شكرا اقتباس
0 Kais Hasan نشر 30 سبتمبر 2022 أرسل تقرير نشر 30 سبتمبر 2022 مرحباً يوسف، هل هذا السؤال يخص إحدى الدروس من الدورات؟ 1 اقتباس
0 Youssef Nasr2 نشر 30 سبتمبر 2022 الكاتب أرسل تقرير نشر 30 سبتمبر 2022 كنت اقرأ عن ال function بعد الإنتهاء من الدرس وظهر لي في المقال كلمه Hosting رفع الدوال لاكن لم افهمها هذا هو المقال 1 اقتباس
2 سامح أشرف نشر 30 سبتمبر 2022 أرسل تقرير نشر 30 سبتمبر 2022 في العادة يتم تعريف الدوال (إنشائها) قبل إستدعائها: function hello() { console.log('hello, world!'); } hello(); أما رفع الدوال أو Hoisting تعني إستدعاء الدالة قبل تعريفها، على سبيل المثال إن قمنا بإستدعاء دالة قبل إنشائها، فمن الطبيعي أن يظهر لنا خطأ: myFuntion(); // Uncaught ReferenceError: myFuntion is not defined هنا قمت بإستدعاء دالة myFunction ولكن هذه الدالة غير موجودة، وبالتالي يظهر خطأ يخبرني بذلك، وهذا الأمر طبيعي في أغلب لغات البرمجة، ولكن بالنسبة للغة JavaScript (وبعض اللغات الأخرى) يمكن إستدعاء دالة ما قبل تعريفها، على النحو التالي: hello(); // hello, world! function hello() { console.log('hello, world!'); } في المثال السابق قمت بإستدعاء الدالة hello قبل حتى أن أقوم بإنشائها (الإستدعاء يسبق إنشاء الدالة بحسب ترتيب الأسطر)، ويمكن عمل هذا الأمر كذلك للمتغيرات التي يتم إنشائها عبر الكلمة المفتاحية var بدون مشكلة: console.log(x); // undefined var x; x = 5; الكود السابق لن يسبب خطأ Error ولكن ستكون قيمة x هي undefined (غير معرف) إلى أن يتم تغير قيمتها لاحقًا جدير بالذكر أن عملية الرفع Hoisting لا تعمل في كل مكان، فلن تتمكن من إستعمالها في بيئة تفاعلية مثل الـ Console في أدوات المطورين Dev Tools في المتصفح، وكذلك إن بدأ ملف JavaScript بجملة "use strict" فلن تتكمن من إستخدام هذه الميزة: "use strict" console.log(x); // Uncaught ReferenceError: x is not defined var x; x = 5; 1 اقتباس
السؤال
Youssef Nasr2
السلام عليكم .. شكراا المقال جميل جدا , لو ممكن شرح ال ( رفع الدوال Hoisting )
ما فهمتها من المقال
و شكرا
3 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.