Bagaimana untuk melaksanakan lebihan kaedah dalam kemahiran programming_javascript berorientasikan objek js

WBOY
Lepaskan: 2016-05-16 16:42:48
asal
1375 orang telah melayarinya

Bagaimana untuk melaksanakan lebihan kaedah dalam js? Ini melibatkan tiga isu

1. Masalah dengan fungsi memanggil dengan nama yang sama

2. Argumen parameter khas dalam fungsi

3. Cara menggunakan hujah untuk melaksanakan lebihan kaedah

1. Masalah dengan fungsi panggilan dengan nama yang sama

Kita semua tahu bahawa jika terdapat berbilang fungsi dengan nama yang sama dalam js, hanya yang terakhir akan digunakan setiap kali, sebenarnya, js tidak dibebankan, jika berbilang fungsi dengan nama yang sama ditakrifkan, satu Parameter berbeza Apabila memanggil, js tidak mengambil berat tentang bilangan parameter, tetapi hanya tertib

Contohnya:

function test1(arg1) 
{ 
alert("参数1:"+arg1); 
} 
function test1(arg1,arg2,arg3) 
{ 
alert("参数1:"+arg1+"参数2:"+arg2+"参数3:"+arg3); 

} 
//测试代码 
function test(){ 
test1("1") 
}
Salin selepas log masuk

Walaupun kami memanggil test1("1") dan lulus satu parameter, panggilan sebenar ialah test1(arg1, arg2, arg3).

2. Parameter khas dalam argumen fungsi

Jika kita menggunakan kod berikut

function test1(arg1,arg2,arg3) 
{ 
alert("参数1:"+arg1+"参数2:"+arg2+"参数3:"+arg3); 

} 
function test1(arg1) 
{ 
alert("参数1:"+arg1); 
} 
//测试代码 
function test(){ 
test1("1","2") 
}
Salin selepas log masuk

Kami tahu bahawa panggilan sentiasa test1(arg1), yang merupakan fungsi dengan hanya satu parameter, tetapi bagaimana untuk mendapatkan parameter lain diluluskan?

Ini memerlukan penggunaan argumen parameter khas dalam fungsi mengandungi semua parameter yang dihantar ke fungsi

function test1() 
{ 
var text=""; 
for(var i=0;i<arguments.length;i++){ 
text+="参数"+i+":"+arguments[i]; 
} 
alert(text); 
} 
//测试代码 
function test(){ 
test1("1"); 
test1("1","2"); 
test1("1","2","3"); 
}
Salin selepas log masuk

Selepas ujian, didapati bahawa argumen mengandungi semua parameter yang dihantar ke fungsi dan argumen. panjang berbeza-beza mengikut bilangan sebenar parameter yang diluluskan. panjang mewakili bilangan parameter sebenar yang dihantar kepada fungsi.

3. Bagaimana untuk melaksanakan lebihan fungsi dalam js?

Selepas ujian di atas, kami mendapati bahawa lebihan fungsi tidak boleh dilaksanakan secara langsung dalam js, tetapi adakah terdapat cara untuk mencapai kesan lebihan yang serupa?

Ya, perkara utama ialah menggunakan hujah

Contohnya:

function test1() 
{ 
var text=""; 
if(arguments.length==1) 
{ 
//调用一个参数的方法 
} 
else if(arguments.length==2) 
{ 
//调用两个参数的方法 
} 
else { //其他的方法 
} 
}
Salin selepas log masuk
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