牛骨文教育服务平台(让学习变的简单)
博文笔记

js方法的重写和重载

创建时间:2017-09-09 投稿人: 浏览次数:1381

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)
}
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。