本文主要描述的是js中没有方法的重载特性
function add(number) {
alert(number + 10);
}
function add(number,number1) {
alert(number + 20);
}
add(3);
此时弹出的结果是23, 为什么呢??
在js中的函数就是对象,每个function都是Function的一个实例。
function add(number) {
alert(number + 10);
}
其实就等同于:
var add = new Function("number","alert(number + 10)");
function add(number,number1) {
alert(number + 20);
}
其实就等同于:
var add = new Function("number","number1","alert(number + 20)");
Function中的最后一个参数对应的是js中的方法体,最后一个参数之前的参数都是js方法所接收的参数,add就是方法名。
在js中只要是同名的方法,下面的就会覆盖上面的方法,所以结果会是23.
在js中调用的方法和所要执行(同名的最下面一个)的方法的参数可以是不匹配的。
本文解析了JavaScript中不存在方法重载特性的原因,并通过实例演示了同名方法如何被后定义的方法覆盖,揭示了调用方法与实际执行方法参数不匹配的情况。

被折叠的 条评论
为什么被折叠?



