JavaScript高级程序设计(2)

29次阅读

共计 557 个字符,预计需要花费 2 分钟才能阅读完成。

JS function 重写方式我们知道正常 function 的格式是:
function functionName(arg0,arg1,…..,argN){

statements

}

function sayHi(name,message){

alert(“hello” + name + message)

}

其实 ECMAScript 函数是不介意传递进来多少个参数,也不在乎传进来参数是什么数据类型的。因为 ECMAScript 中的参数在内部是用一个数组来表示的。函数只是接受这个数组,而不关心数组中包含哪些参数。实际上,在函数体内通过 arguments 对象来访问这个参数数组,从而获取传递给函数的每一个参数。其实,arguments 对象只是与数组类似(它并不是 Array 的实例),因为可以使用方括号语法访问它的每一个元素(第一个元素是 arguments[0], 第二个元素是 arguments[1]), 使用 length 属性来确定有多少个参数。所以上面的那个函数也可以这样来重写:
function sayHi(){

alert(“hello” + arguments[0] + arguments[1])

}

这样重写后 function 不包含参数,但 function 的功能还是一样的。虽然这个特性算不上完美的重载,但也足够弥补 ECMAScript 这一缺憾了。

正文完
 0