Rumah  >  Artikel  >  hujung hadapan web  >  Ringkasan beberapa perkara penting untuk diperhatikan dalam fungsi JavaScript dan kemahiran js anonymous functions_javascript

Ringkasan beberapa perkara penting untuk diperhatikan dalam fungsi JavaScript dan kemahiran js anonymous functions_javascript

WBOY
WBOYasal
2016-05-16 15:32:581201semak imbas

Izinkan saya memperkenalkan kepada anda fungsi javascript

Sintaks asas fungsi

ialah:

function functionName(arg0,arg1,...,argN) {
 statements
}

Berikut ialah contoh:

function str(name,age){
 document.write("hello my name is " + name + ". and i am " + age + " years old.");
}
str(" oliver",23); //hello my name is oliver. and i am 23 years old.

Selain itu, sebarang fungsi boleh mengembalikan nilai pada bila-bila masa dengan menggunakan penyata pulangan diikuti dengan nilai yang akan dikembalikan. Seperti:

function sum(num1,num2){
 return num1 + num2;
 alert("hello"); //返回return 之后不会继续执行alert
}
var result = sum(321,32);
document.write(result); //353

Oleh kerana pelaksanaan berhenti dan keluar serta-merta selepas penyata pemulangan, sebarang kod yang terdapat selepas penyata pemulangan tidak akan dilaksanakan.

Sudah tentu, fungsi boleh mengandungi berbilang penyata pulangan. Seperti:

function conp(a,b){
 if (a > b){
 return a;
 }else if (a == b){
 return "equal";
 }else{
 return b;
 }
}
var result = conp(4,4);
document.write(result); //equal
var result = conp(321,4);
document.write(result); //321

Selain itu, penyata pulangan juga tidak boleh mempunyai sebarang nilai pulangan. Dengan cara ini, pelaksanaan fungsi boleh dihentikan serta-merta dan tidak ditentukan dikembalikan. Seperti:

function conp(a,b){
 if (a > b){
 return;
 document.write("bad");
 }else{
 document.write(b);
 }
}
var a = conp(33,3);
document.write(a); //返回undefined 且不会出现"bad"

Parameter fungsi

Parameter fungsi ECMAScript boleh menjadi sebarang nombor dan boleh daripada sebarang jenis data. Ia boleh diakses melalui objek argumen dalam badan fungsi, seperti parameter pertama ialah argumen[0], yang kedua ialah argumen[1] dan seterusnya. Parameter yang dinamakan adalah kemudahan tetapi tidak diperlukan. Seperti:

function greeting(){
 document.write("hello " + arguments[0] + ". you look " + arguments[1] + ".");
}
greeting("oliver","good"); //hello oliver. you look good.

Selain itu, anda boleh mendapatkan bilangan parameter yang dihantar ke fungsi dengan mengakses sifat panjang objek argumen. Seperti:

function countArguments(){
 document.write("there are " + arguments.length + " arguments here.");
}
countArguments(321,321,32,32); //there are 4 arguments here.

Anda boleh menggunakan ini untuk membuat pertimbangan dalam kombinasi dengan pernyataan if. Seperti:

function count(){
 if (arguments.length == 1){
 document.write("you just have 1 arguments.");
 }else{
 document.write("you have many arguments.");
 }
}
count(321,321,321) //you have many arguments.

Selain itu, argumen[] boleh digunakan dengan parameter bernama.

Melebihi beban fungsi (tiada lebihan beban)

Jika dua parameter dengan nama yang sama ditakrifkan, pertukaran nama hanya dimiliki oleh fungsi yang ditentukan kemudian. Seperti:

function add(){
 document.write(arguments[0] + arguments[1]);
}
function add(){
 document.write(arguments[0] + 100);
}
add(321,2); //421 不会执行第一个函数(两个参数相加),只执行最后一个同名的函数(第一个参数加上100)

PS: Fungsi tanpa nama JavaScript

Fungsi ialah objek paling fleksibel dalam JavaScript Di sini kami hanya menerangkan penggunaan fungsi tanpa namanya. Fungsi tanpa nama: Ia adalah fungsi tanpa nama fungsi.

1.1 Definisi fungsi, mula-mula memperkenalkan secara ringkas definisi fungsi, yang boleh dibahagikan secara kasar kepada tiga cara

Jenis pertama: Ini juga merupakan jenis yang paling biasa

function double(x){
 return 2 * x; 
}

Kaedah kedua: Kaedah ini menggunakan pembina Fungsi dan menganggap kedua-dua senarai parameter dan badan fungsi sebagai rentetan Ini sangat menyusahkan dan tidak disyorkan.

Salin kod Kod adalah seperti berikut:

var double = new Function('x', 'return 2 * x;');

Jenis ketiga:

Salin kod Kod adalah seperti berikut:

var double = function(x) { return 2* x;
Perhatikan bahawa fungsi di sebelah kanan "=" ialah fungsi tanpa nama Selepas mencipta fungsi, fungsi itu diberikan kepada petak pembolehubah.

1.2 Penciptaan fungsi tanpa nama

Kaedah pertama ialah mentakrifkan fungsi segi empat sama seperti yang dinyatakan di atas, yang juga merupakan salah satu kaedah yang paling biasa digunakan.

Cara kedua:

(function(x, y){
 alert(x + y); 
})(2, 3);
Fungsi tanpa nama dicipta di sini (di dalam kurungan pertama), dan kurungan kedua digunakan untuk memanggil fungsi tanpa nama dan menghantar parameter.

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