本文主要描述的是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中调用的方法和所要执行(同名的最下面一个)的方法的参数可以是不匹配的。