您的位置:首页 > Web前端 > JavaScript

js方法的重写和重载

2017-09-09 17:18 239 查看
js的方法是不能重载的,js高级编程里面111页说明了原因,总结一下就是

js的方法可以写成这样:

var func1 = function(){
console.log("func1  test");
}


这样的方法就相当于一个参数,方法的重载是指方法名相同参数不同但是是不同的方法,但是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)
}


即使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)
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  javascript