js方法的重写和重载

来源:互联网 发布:fp系列编程手册 编辑:程序博客网 时间:2024/05/16 11:06

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)}
原创粉丝点击