Rumah >hujung hadapan web >tutorial js >Pengenalan kepada perbezaan bagaimana fungsi JS ditakrifkan_Pengetahuan asas

Pengenalan kepada perbezaan bagaimana fungsi JS ditakrifkan_Pengetahuan asas

WBOY
WBOYasal
2016-05-16 15:08:261366semak imbas

Terdapat dua cara untuk menentukan fungsi dalam JS:

(1) Pengisytiharan fungsi biasa

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

(2) Takrifkan fungsi dalam bentuk ungkapan fungsi

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

Walaupun kedua-dua kaedah di atas secara logiknya setara, masih terdapat beberapa perbezaan kecil:

Perbezaan 1: Fungsi dalam Contoh 1 akan dimuatkan ke dalam skop sebelum kod dilaksanakan, manakala dalam Contoh 2 ia tidak akan ditakrifkan sehingga kod dilaksanakan ke baris itu; Perbezaan 2: Pengisytiharan fungsi memberikan nama kepada fungsi, manakala ungkapan fungsi mencipta fungsi tanpa nama dan kemudian memberikan fungsi tanpa nama kepada pembolehubah;

Lihat contoh di bawah:



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(){},匿名函数
Pengenalan di atas kepada perbezaan dalam kaedah definisi fungsi JS adalah semua kandungan yang dikongsi oleh editor saya harap ia dapat memberi anda rujukan, dan saya harap anda akan lebih menyokong Script Home.
Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn