ظاهرة:
1. في جافا سكريبت ، سيتم الترويج لإعلان المتغيرات والوظائف إلى أعلى التنفيذ.
2. تحسين الوظيفة أعلى من تحسين المتغيرات.
3. إذا تم الإعلان عن متغير خارجي مع نفس الاسم داخل الوظيفة مع VAR ، فلن تبحث الوظيفة إلى الأعلى.
4. لن يتم الترويج للوظائف المجهولة.
5. وظائف في كتل مختلفة <script> لا تؤثر على بعضها البعض.
مثال:
تعزيز إعلان الوظيفة أعلى من الإعلان المتغير
// إعلان المتغير A ووظيفة Avar A ؛ الدالة A () {} ALERT (typeof a) ؛ // يتم عرض "الوظيفة" ، والتي تثبت بشكل مبدئي أن أولوية الوظيفة أعلى من VAR. // إعلان الوظيفة أولاً ثم أعلن المتغير ، مما يثبت أن المثال أعلاه لا يعمل على الكتابة فوق الوظيفة المتغيرة A () {} var a ؛ تنبيه (typeof a) ؛ // لا تزال الشاشة "وظيفة" ، وليس "غير محددة" ، أي أولوية الوظيفة أعلى من VAR. // إعلان المتغير وتعيين وظيفة القيمة a () {} var a = 1 ؛ Alert (typeof a) ؛ // الرقم ، إنها ليست وظيفة في هذا الوقت. // ملاحظة: "var a = 1" يعادل "var a ؛ a = 1" ، أي ، أعلن أولاً ثم تعيين قيمة. "A = 1" يعادل إعادة تعيين A ، وهو رقم طبيعي!تستخدم الوظيفة VAR لتحديد نفس المتغير مثل الخارج ، ولن تبحث الوظيفة عن المتغيرات الخارجية لأعلى.
var value = 'hello' ؛ function show () {Alert (value) ؛ if (! value) {var value = 'function' ؛ } ALERT (value) ؛} show () // يتم استدعاء الوظيفة هنا وظهرت "غير محدد" ، "وظيفة" // مثال أعلاه يعادل value value = 'hello' ؛ function show () {var value ؛ // لاحظ هذا التنبيه الخط (القيمة) ؛ if (! value) {value = 'function' ؛ // هذا السطر يزيل Var} ALERT (value) ؛} show () // 1. إذا لم تستخدم القيمة المحددة داخليًا في المعرض في العمود أعلاه VAR ، فسيتم استخدام متغير خارجي ، وسيظهر "Hello" ، "Hello". // 2. إذا لم يتم تعريف القيمة داخل الوظيفة ، فيمكن أيضًا الحصول على قيمة القيمة بالخارج.لن تتحسن الوظائف المجهولة للأعلى
getName () var getName = function () {Alert ('closule')} function getName () {Alert ('function')} getName () // الرمز أعلاه مكافئ للوظيفة getName () {// يتم رفع الدالة لأعلى ('function')} getName () var getname () الملوثات العضوية الثابتة "الوظيفة" و "Closule"لا تؤثر الوظائف في مختلف الكتل <script> على بعضها البعض
<script> getName () var getName = function () {Alert ('closule')} <script> <script> function getName () {Alert ('function')} <script> // execution execution: typeerror: getName ليس دالة // لأن وظيفة getName (مناقشة موجزة أعلاه حول تحسين المتغيرات وإعلانات الوظيفة في JavaScript هي كل المحتوى الذي أشاركه معك. آمل أن تتمكن من إعطائك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.