Rumah > hujung hadapan web > tutorial js > Penjelasan terperinci tentang kaedah dan contoh kaedah tanpa nama dalam kemahiran Javascript_javascript

Penjelasan terperinci tentang kaedah dan contoh kaedah tanpa nama dalam kemahiran Javascript_javascript

WBOY
Lepaskan: 2016-05-16 15:55:07
asal
1161 orang telah melayarinya

Contoh dalam artikel ini menerangkan kaedah dan kaedah tanpa nama dalam Javascript. Kongsikan dengan semua orang untuk rujukan anda. Analisis khusus adalah seperti berikut:

Kaedah Javascript (fungsi)

Fungsi pengisytiharan

Bermula dengan fungsi, diikuti dengan nama fungsi Tidak seperti C# dan Java, Javascript tidak perlu mengisytiharkan jenis nilai pulangan dan jenis parameter. Tiada nilai pulangan tidak ditentukan.

Contoh akan menjadikannya lebih jelas:
Kaedah tanpa parameter dan tiada nilai pulangan:

function f1(){
alert('这是一个方法');
}
f1();//调用方法 

Salin selepas log masuk

Kaedah tanpa parameter dan nilai pulangan:

function f2(){
return 100;
}
var result=f2();//声明一个变量,接收f1()中的返回值
alert(result);//100 

Salin selepas log masuk

Kaedah dengan parameter dan nilai pulangan:

function f3(n1,n2){
return n1+n2;
}
var result=f3(20,30);
alert(result);//50

Salin selepas log masuk

Nota 1:

Lihat contoh dahulu:

function f1(){
  alert('这是一个方法'); 
}
alert(f1());//弹出”这是一个方法”后,还会显示undefined

Salin selepas log masuk

Sebab: Dalam js, jika pembolehubah tidak diberikan nilai, ia tidak ditentukan dalam kes ini, f1() tidak mempunyai nilai pulangan, jadi ia adalah nilai yang tidak diketahui (tidak ditakrifkan di sini). alert(), dan sudah tentu pop timbul tidak ditentukan

Nota 2:

alert(f1);//不写括号,会将f1整个代码以字符串形式显示出来:
function f1(){ 
alert('这是一个方法'); 
} 
Salin selepas log masuk

Tiada kaedah terlebih beban dalam JavaScript

Hanya panggil kaedah yang ditakrifkan terkini:

function f1(n1,n2){ 
alert(n1+n2); 
} 
function f1(n1,n2){ 
alert(n1-n2); 
} 
f1(10,2);//8

Salin selepas log masuk
Kesimpulan: Tidak kira di mana ia dipanggil, hanya kaedah yang ditakrifkan terkini dipanggil.

Nota: Number undefined=undefined

function f1(n1,n2,n3){ 
alert(n1-n2+n3); 
} 
f1(10,2);
//NaN,因为没有给n3传值,n3就是undefined,
//数字加上undefined还是undefined

Salin selepas log masuk
Kesimpulan di atas: Tiada kaedah lebihan beban dalam Javascript

Perhatikan apabila mentakrifkan kaedah:

Tidak mempunyai nama fungsi tersuai yang sama dengan kaedah terbina dalam:

Jangan gunakan nama yang sama dengan kaedah terbina dalam dalam JS atau DOM Contohnya, jangan gunakan nama fungsi seperti pilihSemua dan fokus.

Tidak mempunyai nama yang sama dengan fungsi sistem. (Terdapat masalah apabila memanggil kaedah fokus yang ditentukan anda sendiri dalam acara klik. Ia mempunyai nama yang sama dengan kaedah fokus() sistem)

Nota tentang menulis kurungan peraturan:

Secara amnya apabila menulis pendakap kerinting dalam js, mereka diikuti terus dengan

function f1(){ 
return 
{ 
age:100}; 
} 
var s=f1(); 
alert(s.age);
//undefined。s结果是undefined,undefined.age必然还是undefined

Salin selepas log masuk

Kaedah tanpa nama (banyak digunakan)

Mengapa disyorkan untuk menggunakan kaedah tanpa nama?

1. Terdapat fungsi kaedah aa(){alert{'Saya agak kacak'}} dalam 1.js

2. Terdapat fungsi kaedah aa(){alert{'saya semakin kacak'}} dalam 2.js

3. Import 1.js dan 2.js ke dalam index.html dalam urutan, dan panggil aa();

Kesimpulan: Kaedah aa() dalam 2.js akan mengatasi aa() dalam 1.js

Apa yang perlu dilakukan? Tidak lagi menyatakan nama kaedah, gunakan kaedah tanpa nama

Mari kita lihat dahulu contoh memberikan kaedah tanpa nama kepada pembolehubah:

var ff=function(n1,n2){ 
return n1+n2; 
}; 
alert(ff(20,30));//50

Salin selepas log masuk
Tulis kaedah tanpa nama dalam satu baris:


Salin kod Kod adalah seperti berikut:
(fungsi (n1,n2){alert(n1 n2);} )(9 ,9);

Kes kecil: 1:

var x=1; 
var y=0; 
var z=0; 
var add=function (n){n=n+1;return n}; 
y=add(x);//结果是2,先调用上面add 
add=function(n){n=n+3;return n;}; 
z=add(x);//结果是4,调用上面临近的这个add 
alert(y+','+z);//2,4

Salin selepas log masuk
Kes kecil 2:

function aa() 
{ 
  alert("aaa"); 
  return function(){alert("bbb");}; 
} 
alert(aa);//不写括号,会将aa方法的整个代码显示出来 
alert(aa());//aaa,function(){alert("bbb");}; aaa就不解释了,后面那一串是作为aa()的返回值显示 
alert(aa()());//aaa,bbb,undefined 
//下面分解上面这句进行解释 
var s=aa();//aaa 
alert(s());//s()就是function(){alert("bbb");};首先弹出bbb,其次该方法没有返回值,故弹出undefined

Salin selepas log masuk
Saya harap artikel ini akan membantu reka bentuk pengaturcaraan JavaScript semua orang.

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan