الرجوع الي الدرس

هل تلتقط الدالة آخر التغييرات؟

الأهمية: 5

الدالة sayHi تستخدم اسم مُتغير خارجي. عندما تعمل الدالة أيًـا منهم سيستخدم؟

let name = "John";

function sayHi() {
  alert("Hi, " + name);
}

name = "Pete";

sayHi(); // what will it show: "John" or "Pete"?

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

إذا السؤال هو هل ستشعر الدالة بالتغيير؟

الناتج هنا هو ‎"Pete"‎.

الدالة تحضر المتغيرات الخارجية كما هي الآن، إنها تستخدم المُعَدَّلة مؤخراً.

القديمة لا تخزن بعد الآن لذلك الدالة تحصل على آخر تحديث للمتغير إما عن طريق البيئة المعجمية الخاصة بها أو الخارجية.