في عالم JavaScript ، هناك العديد من الطرق لتحديد الوظائف ، وهو انعكاس لمرونة JavaScript ، ولكن هذا هو السبب في أن المبتدئين في حيرة من أمرهم ، خاصة بالنسبة للطلاب الذين ليس لديهم أساس لغة. كما يقول المثل ، تؤدي جميع الطرق إلى روما ، ولكن إذا كان هناك الكثير من الطرق ، فإن ذلك سيجعل المسافر في حيرة لأنه لا يعرف الطريق الصحيح للذهاب. هاها ، أنا أتحدث هراء ، وسأتحدث أقل ، اقرأ الكود أولاً:
نسخة الكود كما يلي:
/*تستخدم الطريقة الأولى عبارة الوظيفة ، التنسيق هو كما يلي*/
وظيفة fn () {
التنبيه ("هذا هو بيان الوظيفة لتعريف الوظيفة") ؛
}
fn () ؛
/*الطريقة الثانية ، استخدم مُنشئ الدالة () لاستنساخ الوظيفة*/
var f = new function ("a" ، "b" ، "Alert (a+b)") ؛
f (a ، b) ؛
في الواقع ، فإنه يعادل الرمز التالي:
وظيفة f (a ، b) {
تنبيه (A+B) ؛
}
/*الطريقة الثالثة هي استخدام الوظيفة لحساب*/
var Zhenn = function () {
تنبيه ("تشن") ؛
}
Zhenn () ؛
من بينها ، يبدو أن طرق استخدام "بيانات الوظائف" واستخدام "الكمية المباشرة للوظائف" لتحديد الوظائف أكثر شيوعًا وسهلة الفهم ، لذلك لن أقول الكثير عنها هنا. نادراً ما يتم استخدامه لاستنساخ الوظائف باستخدام مُنشئ الوظيفة () ، لأن الوظيفة تتكون عادةً من عبارات متعددة. إذا تم تمريرها كسلسلة كمعلمة ، فسيجعل ذلك حتماً قابلية قراءة الكود.
دعني أذكر المنشئ بالمناسبة هنا. في الواقع ، من منظور حرفي ، يبدو أن المنشئ وظيفة. في الواقع ، إنها ليست وظيفة ، ولكن مجرد نموذج وظيفة. لإعطاء مثال غير مناسب ، فإن المنشئ يعادل سيارة تم تجميعها حديثًا. سواء كانت بعيدة أو قريبة ، فهي سيارة ، لكنها لم يتم تزويدها بعد (تمثل خطوة ضرورية قبل الاستخدام) ، لذلك لا يمكن أن تبدأ. إذا كنت تريد أن تقود السيارة بشكل طبيعي ، فيجب عليك إضافة الزيت إليها. في الواقع ، هذه العملية تعادل إنشاء مُنشئ ، وإلا فلن يتم تشغيلها بشكل طبيعي! انظر المثال التالي:
نسخة الكود كما يلي:
دالة fn () {// تحديد المنشئ
this.elem = "هنا هو مُنشئ الدالة () لتحديد الوظيفة ، هاها" ؛
this.fn = function () {
التنبيه ("هذا هو تحديد الوظيفة باستخدام مُنشئ الدالة () ، Hehe") ؛
}
}
var f = new fn () ؛ // instantiation
تنبيه (F.Elem) ؛
f.fn () ؛