`
luogankun
  • 浏览: 18918 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JavaScript高级进阶一

阅读更多

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

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics