js方法的重写和重载的技巧详解

亚连
Lepaskan: 2018-05-17 10:06:54
asal
4205 orang telah melayarinya

js的方法是不能重载的,js高级编程里面111页说明了原因,总结一下就是

js的方法可以写成这样:

var func1 = function(){
    console.log("func1  test");
}123
Salin selepas log masuk

这样的方法就相当于一个参数,方法的重载是指方法名相同参数不同但是是不同的方法,但是js没有这个因为参数不同而使他们变成不同函数例如:

$(function(){
    console.log("------**********开始了************---------");
    funTest(100,200,300);
})function funTest(num,num1){
    console.log("funTest2 satrt")
    console.log(arguments.length);
    console.log(arguments[0]);
    console.log(num);
    console.log(num1);
    console.log(num+200)
}12345678910111213141516171819
Salin selepas log masuk

即使funTest有三个参数也不报错,也可以执行下面的函数,因为这2个原因是js的方法没有重载。直接说参数不同不会导致产生不同函数,js函数相当于参数后面的会覆盖前面的,所以js没有重载。

js方法的重写

方法的重写利用方法的参数数组 anguments对象来实现的,我觉得js对象是可以动态添加方法的没必要进行重写。可能没遇到场景,用到在写吧。

$(function(){
    console.log("------**********开始了************---------");
    funTest(100,200,300);
})function funTest(num,num1){
    console.log("funTest2 satrt")
    console.log(arguments.length);
    console.log(arguments[0]);
    console.log(num);
    console.log(num1);
    console.log(num+200)
}
Salin selepas log masuk

上面是我整理给大家的js方法的重写和重载的技巧详解,希望今后会对大家有帮助。

相关文章:

如何使用JSON

了解json的相关语法

js动态引入使用详解

Atas ialah kandungan terperinci js方法的重写和重载的技巧详解. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!