تلخص هذه المقالة المشكلات الشائعة في تعريف وظيفة JavaScript. أنه يحتوي على أخطاء شائعة ارتكبها المبتدئون. شاركه للرجوع إليه. الملخص المحدد هو كما يلي:
1. في نفس الوقت الذي يعلن فيه إعلان الوظيفة ، يحدد محرك JS أيضًا متغيرًا بنفس اسم اسم الوظيفة. عندما نسمي هذه الوظيفة ، نستخدم هذا المتغير بالفعل ، ويمكن استدعاؤه قبل إعلان الوظيفة ، على سبيل المثال
foo () ؛ // يتم استخدام متغير دالة بالفعل هنا FOO () {Alert ('hello') ؛ }2. تعبير الوظيفة ، في هذا الوقت ، يتم تعيين الوظيفة المجهولة إلى متغير ، والذي يجب استخدامه بعد التعريف ، على سبيل المثال
foo () ؛ // تم الإبلاغ عن خطأ ، var foo = function () {Alert ('hello') ؛ }3. تعبير الوظيفة (مع اسم الوظيفة) ، من الأفضل تجنب هذا الاستخدام. في هذا الوقت ، لا يتوفر اسم الوظيفة داخليًا فقط في المتصفحات غير LI ، على سبيل المثال
شريط (5) ؛ // يتم الإبلاغ عن خطأ ، var non غير المحدد = الدالة foo (n) {if (n == 1) return 1 ؛ عودة أخرى n * foo (n - 1) ؛ } foo (5) ؛ // لا تم الإبلاغ عن خطأ IE ، شريط غير محدد (5) ؛ //صحيح4. التعريف مع منشئ الوظائف ، هذه الطريقة غير فعالة. في كل مرة يتم تنفيذ وظيفة ، سيتم تحليل جسم وظيفتها مرة واحدة. بالإضافة إلى ذلك ، فإن الوظيفة المعلنة بهذه الطريقة لن ترث نطاق الموقع المعلن الحالي. سيكون لها نطاق عالمي فقط بشكل افتراضي ، على سبيل المثال
دالة foo () {var bar = 'hello' ؛ وظيفة الإرجاع ('Alert (bar)') ؛ // تم الإبلاغ عن خطأ ، لا يتم تعريف شريط المتغير العالمي} foo () () ؛أعتقد أن الوصف في هذه المقالة له قيمة مرجعية معينة لتعلم الجميع لبرمجة الويب JavaScript.