English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

مناقشة الفرق بين طرق تعريف الدوال في جافا سكريبت

هناك طريقتان لتعريف الدوال في JS:

(1) تعريف دالة تقليدي

function slide(arguments){
//...code
}

(2) تعريف الدالة بتعبير دالة

var slide = function(arguments){
//...code
}

بالرغم من أن الطريقتين متساويتان من الناحية المنطقية، إلا أن هناك بعض الاختلافات الصغيرة:

الفرق الأول:الدالة في المثال الأول يتم تحميلها إلى النطاق قبل تنفيذ الكود، بينما في المثال الثاني يتم تعريفها عند تنفيذ السطر المحدد؛

الفرق الثاني:تعريف الدالة يعين اسمًا للدالة، بينما تعريف تعبير الدالة يخلق دالة مجهولة ثم تُنقل إلى متغير؛

انظر مثال أدناه:

function factorial(num){
if(num<=1){
return 1;
}
else {
return num*arguments.callee(num-1);
}
}
var anotherFactorial = factorial;
factorial = null;
console.log(anotherFactorial); // يظهر factorial(){}، يحتوي على اسم الدالة

إذا كان يتم تعريفها كتعبير دالة

var factorial = function(num){
//...code
}
//...code
console.log(anotherFactorial); // يظهر function(){}، دالة مجهولة

هذا هو محتوى المقالة البسيطة التي قدمها المحرر لكم حول اختلاف طرق تعريف الدوال في JS، نأمل أن تكونوا قد دعمتم وتشجعتم دليل التعليمات~

أنت قد تحب