يتم تعريف وظائف جافا سكريبت مع function الكلمة.
يمكنك استخدام تعريف الدالة أو تعبير وظيفة.
الإعلانات وظيفة
في هذا البرنامج التعليمي في وقت سابق، تعلمت أن تكون معلنة وظائف مع بناء الجملة التالي:
function functionName ( parameters ) {
code to be executed
}
لن يتم تنفيذ المهام أعلن على الفور. و"حفظها لاستخدامها لاحقا" هم، وسيتم تنفيذها في وقت لاحق، عندما يتم استدعاء (دعا).
تستخدم الفاصلة المنقوطة لفصل البيانات جافا سكريبت القابلة للتنفيذ.
منذ إعلان الوظيفة ليست بيانا قابل للتنفيذ، أنها ليست مشتركة لوضع حد لها بفاصلة منقوطة.
التعبير وظيفة
كما يمكن تعريف وظيفة جافا سكريبت باستخدام تعبير.
تعبير وظيفة يمكن تخزينها في متغير:
بعد أن تم تخزين التعبير وظيفة في متغير ومتغير ويمكن استخدام وظيفة:
وظيفة أعلاه هو في الواقع وظيفة غير معروفة (وظيفة بدون اسم).
وظائف المخزنة في المتغيرات لا تحتاج أسماء وظيفة. يتم استدعاء أنها دائما (وتسمى) باستخدام اسم المتغير.
وظيفة ينتهي فوق بفاصلة منقوطة لأنها جزء من بيان القابل للتنفيذ.
على Function() منشئ
كما رأيتم في الأمثلة السابقة، يتم تحديد وظائف جافا سكريبت مع function الكلمة.
يمكن أيضا تعريف الوظائف مع المدمج في وظيفة جافا سكريبت منشئ يسمى Function() .
مثال
var myFunction = new Function("a", "b", "return a *
b");
var x = myFunction(4, 3);
انها محاولة لنفسك » كنت في الواقع لم يكن لديك لاستخدام منشئ وظيفة. المثال أعلاه هو نفس الكتابة:
في معظم الوقت، يمكنك تجنب استخدام new الكلمة في جافا سكريبت.
Function Hoisting
في هذا البرنامج التعليمي في وقت سابق، تعلمت حول "hoisting" .
الرفع هو السلوك الافتراضي جافا سكريبت لتحريك الإعلانات إلى الجزء العلوي من النطاق الحالي.
ينطبق رفع لتعريفات المتغير والإعلانات وظيفة.
وبسبب هذا، يمكن استدعاء وظائف جافا سكريبت قبل أن يتم الإعلان عنها:
myFunction(5);
function myFunction(y) {
return y * y;
}
لم يتم رفعت الوظائف المحددة باستخدام تعبير.
وظائف-استدعاء النفس
تعبيرات وظيفة يمكن أن يتم "، استحضار الذات".
والتعبير عن الاحتجاج النفس تم استدعاء (بدأت) تلقائيا، دون إخضاعهم.
وتعبيرات وظيفة تنفيذ تلقائيا إذا اتبعت التعبير () .
لا يمكنك استدعاء الذات إعلان وظيفة.
لديك لإضافة أقواس حول وظيفة للإشارة إلى أنه هو تعبير الدالة:
وظيفة أعلاه هو في الواقع وظيفة استدعاء النفس المجهولة (وظيفة من دون اسم).
وظائف يمكن استخدامها بوصفها القيم
وظائف جافا سكريبت يمكن استخدام القيم:
وظائف جافا سكريبت يمكن استخدامها في تعبيرات:
وظائف هي كائنات
و typeof المشغل في جافا سكريبت يعود "function" للوظائف.
ولكن، يمكن أن يكون أفضل وصف وظائف جافا سكريبت ككائنات.
وظائف جافا سكريبت على حد سواء الخصائص والأساليب.
الخاصية arguments.length بإرجاع عدد من الحجج الواردة عندما تم استدعاء الدالة:
و toString() الأسلوب بإرجاع وظيفة كسلسلة:
يطلق على وظيفة على النحو المحدد في خاصية كائن، وهي طريقة للكائن.
وظيفة مصمم لإنشاء كائنات جديدة، ويسمى منشئ الكائن.