Definisi fungsi JavaScript
Tentukan fungsi
Dalam JavaScript, cara untuk mentakrifkan fungsi adalah seperti berikut:
fungsi abs(x) {
jika (x >= 0) { return x ;
} else { return -x;
}
}
Fungsi abs() di atas ditakrifkan seperti berikut:
fungsi menunjukkan bahawa ini ialah definisi fungsi abs ialah nama fungsi yang disenaraikan dalam kurungan (x), dan berbilang parameter dipisahkan oleh,; badan fungsi, yang boleh mengandungi beberapa pernyataan, atau bahkan tanpa sebarang pernyataan.
Sila ambil perhatian bahawa apabila penyataan di dalam badan fungsi dilaksanakan, sebaik sahaja pemulangan dilaksanakan, fungsi akan dilaksanakan dan hasilnya akan dikembalikan. Oleh itu, logik yang sangat kompleks boleh dilaksanakan di dalam fungsi melalui pertimbangan bersyarat dan gelung.
Jika tiada penyataan pemulangan, keputusan akan dikembalikan selepas fungsi dilaksanakan, tetapi hasilnya tidak ditentukan.
Memandangkan fungsi JavaScript juga merupakan objek, fungsi abs() yang ditakrifkan di atas sebenarnya ialah objek fungsi dan nama fungsi abs boleh dianggap sebagai pembolehubah yang menunjuk ke fungsi tersebut.
Oleh itu, cara kedua untuk mentakrifkan fungsi adalah seperti berikut:
var abs = fungsi (x) {
jika (x >= 0) { return x ;
} lain { return -x;
}
};
Dengan cara ini, fungsi (x) { ... } ialah fungsi tanpa nama, ia tidak mempunyai nama fungsi. Walau bagaimanapun, fungsi tanpa nama ini diberikan kepada abs pembolehubah, jadi fungsi itu boleh dipanggil melalui abs pembolehubah.
Dua takrifan di atas adalah setara sepenuhnya bahawa kaedah kedua memerlukan penambahan a ;
Fungsi ialah salah satu teras bahasa JavaScript Sintaks asasnya adalah seperti berikut:
function functionName(arg0, arg1, .. .) {
Pernyataan
}
Tafsiran sintaks
Gunakan kata kunci fungsi untuk mentakrifkan fungsi
Kata kunci fungsi diikuti oleh ruang diikuti dengan nama fungsi
Nama fungsi diikuti oleh sepasang kurungan arg0 dan arg1 mewakili parameter fungsi tersebut dipisahkan dengan "," (0 bermakna tiada parameter). Apabila tiada parameter, kurungan () tidak boleh ditinggalkan Parameter yang melebihi 25 akan diabaikan oleh JavaScript
{} ialah badan fungsi, yang mengandungi pernyataan fungsi yang akan dilaksanakan oleh fungsi
.<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> function hello(name){ document.write((name + ",你好!")); } </script> </head> <body> <input type="button" onclick="hello('小明')" value="确定"/> </body> </html>
Ungkapan fungsi
Fungsi JavaScript boleh ditakrifkan melalui ungkapan.
Ekspresi fungsi boleh disimpan dalam pembolehubah:
var x = function (a, b) {return a * b};
Selepas ungkapan fungsi disimpan dalam pembolehubah, pembolehubah juga boleh digunakan sebagai fungsi :
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> var x = function (a, b) {return a * b}; document.getElementById("demo").innerHTML = x(6, 9); </script> </body> </html>
Fungsi Mengangkat (Mengangkat)
Dalam tutorial sebelumnya kami telah Belajar tentang "mengangkat".
Mengangkat ialah tingkah laku lalai JavaScript untuk menaikkan skop semasa ke hadapan.
Hoisting digunakan pada pengisytiharan berubah-ubah dan pengisytiharan fungsi.
Oleh itu, fungsi boleh dipanggil sebelum pengisytiharan:
myFunction(5);
function myFunction(y) {
return y * y;
}
Tidak boleh dinaikkan pangkat apabila mentakrifkan fungsi menggunakan ungkapan.
argumen
JavaScript juga mempunyai hujah kata kunci percuma, yang hanya terdapat di dalam fungsi Works and sentiasa menunjuk kepada semua parameter yang dihantar oleh pemanggil fungsi semasa.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script type="text/javascript"> function foo(x) { alert(x); // 10 for (var i=0; i<arguments.length; i++) { alert(arguments[i]); // 10, 20, 30 } } foo(10, 20, 30); </script> </head> <body> </body> </html>
Fungsi ialah objek
Menggunakan operator jenis dalam JavaScript untuk menentukan jenis fungsi akan mengembalikan "fungsi".
Tetapi adalah lebih tepat untuk menerangkan fungsi JavaScript sebagai objek.
Fungsi JavaScript mempunyai sifat dan kaedah. Sifat
arguments.length mengembalikan bilangan parameter yang diterima semasa panggilan fungsi:
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> </head> <body> <p id="demo"></p> <script> function myFunction(a, b) { return arguments.length; } document.getElementById("demo").innerHTML = myFunction(4,7,3); </script> </body> </html>