Beberapa jenis fungsi ditakrifkan dalam JavaScript: 1. Gunakan kata kunci fungsi untuk mentakrifkan fungsi melalui pengisytiharan atau ungkapan, dan sintaks ialah "function functionName(parameters){executed code}" 2. Use function constructs Fungsi() pembina.
Persekitaran pengendalian tutorial ini: sistem Windows 10, versi JavaScript 1.8.5, komputer Dell G3.
JavaScript menggunakan fungsi kata kunci untuk mentakrifkan fungsi.
Fungsi boleh ditakrifkan melalui pengisytiharan atau ia boleh menjadi ungkapan.
Pengisytiharan fungsi
Dalam tutorial sebelumnya, anda telah pun memahami sintaks pengisytiharan fungsi:
function functionName(parameters) { 执行的代码 }
Fungsi tidak akan dilaksanakan serta-merta selepas pengisytiharan, tetapi akan dilaksanakan apabila kita memerlukannya apabila dipanggil.
Pembina fungsi
Pembina fungsi digunakan untuk mencipta objek fungsi Dalam JavaScript, sebenarnya setiap fungsi ialah objek fungsi.
Sintaks pembina fungsi:
new Function ([arg1[, arg2[, ...argN]],] functionBody)
arg1, arg2, ... argN digunakan sebagai nama pembolehubah sebagai nama parameter biasa bagi fungsi ini mesti mematuhi pengecam pembolehubah JavaScript A rentetan kanonik mewakili pembolehubah tunggal atau rentetan dipisahkan koma mewakili berbilang pembolehubah, seperti "x", "theValue", atau "a,b".
functionBody Rentetan yang mengandungi pernyataan JavaScript bagi definisi fungsi.
Penerangan
1. Objek fungsi dicipta apabila pembina fungsi dihuraikan ke dalam fungsi. Walau bagaimanapun, ini akan menjadi kurang cekap daripada menggunakan pengisytiharan fungsi, ungkapan fungsi, dsb., kerana fungsi ini dihuraikan secara langsung melalui kod.
2. Parameter rentetan yang dihantar kepada pembina fungsi akan digunakan sebagai nama parameter pembolehubah bagi fungsi yang dijana oleh pembina fungsi, dan susunan ia muncul akan digunakan sebagai susunan parameter bagi fungsi yang dihasilkan.
3 Memanggil pembina fungsi sebagai fungsi (sama ada diubah suai dengan kata kunci baharu atau tidak) mempunyai kesan yang sama.
Contoh
// Example can be run directly in your JavaScript console // Create a function that takes two arguments and returns the sum of those arguments var adder = new Function('a', 'b', 'return a + b'); // Call the function adder(2, 6); // > 8
Parameter a dan b ialah nama parameter biasa yang boleh digunakan dalam badan fungsi.
Fungsi yang dijana ialah:
function (a,b){undefined return a+b; }
Satu cara untuk menghuraikan json: var json = (new Function("return " str))();
Prinsipnya adalah sama, fungsi yang dijana oleh
ialah:
function toJson(str){undefined return str; } var str="{'a':1,'b':'abc'}"; toJson(str);
iaitu: function(){return {'a':1,'b':'abc'}}
Perbezaan antara pembina fungsi dan pengisytiharan fungsi:
Fungsi yang dicipta dengan pembina fungsi tidak membuat penutupan dalam konteks, ia sentiasa dicipta dalam skop global, apabila fungsi yang dicipta dilaksanakan Apabila, mereka hanya boleh menggunakan pembolehubah tempatan atau pembolehubah global mereka sendiri, yang berbeza daripada eval.
Cadangan berkaitan: Tutorial pembelajaran javascript
Atas ialah kandungan terperinci Apakah jenis fungsi yang ditakrifkan dalam javascript. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!