رفع المتغيرات في جافا سكريبت "javascript variables hoisting "

المتغيرات هي شئ اساسي في كتابة اى برنامج او تطبيق ويعد رفع المتغيرات في جافاسكريبت امر وجانب هاما للعمل مع المتغيرات في تطبيقك.

الرفع "hoisting " هي أليه لرفع المتغيرات الي اعلي النطاق بمعني انك لو قمت بتعريف متغير تقوم الجافاسكريبت برفع المتغير الي اعلي النطاق دون قيمته.

 function hositing() {
  console.log(x); // undefined
  var x = 3;
  console.log(x) // 3
 }

ما حدث هنا ان جافاسكريبت قامت برفع المتغير و ليس قيمته الي الأعلي اى ان هذا ما يحدث:

  function hositing() {
    var x; // انتقلت الي اعلي النطاق
    console.log(x) // undefined
    x = 3; بقايا المتغير 
   console.log(x) // 3
 }

اذا جافاسكريبت تقوم برفع تعريف المتغير فقط الي الأعلي وليس القيمة و نري الفرق هنا:

 var x = 2; 
 console.log(x + " " + y) // 2  undefined
 var y = 3;

ما حدث هنا ان الجافا سكريبت قد قامت برفع المتغير y بدون قيمته الي الأعلي و عند تنفيذ الأمر لم يجد قيمة للمتغير y تم تعريفها بعد فكانت قيمته غير معرفه undefined.

 var y;
 var x = 2;
 console.log(x + " " + y) // 2 undefined

 y = 3;

عدم معرفتك بهذه الأليه سيعرضك للوقوع في الكثير من الأخطاء لذلك دائما ما ينصح بتعريف المتغيرات في بدايه النطاق.

واذا كنت تستخدم تطبيق الوضع الصارم "use strict" لن يسمح لك باستخدام المتغير الا اذا قمت بتعريفها.


محتاج اعرف حاجه عن كود جافا في قالب بلوجر

اولا السلام عليكم تحياتي لكل مبرمج يساهم بوقته للرد علي هذا السؤال حتي لو بمعلومه مفيده

*متطلباتي التي اريد معرفتها

1- كود جافا يملك الحقوق الخاصه بالموقع الخاص بي بحيث اذا تم التلاعب بالقالب يذهب به لصوره معينه واذا تم حذف الكود يذهب به لموقع معين انا احدده