您的位置:首页 > 移动开发

javascript:函数的apply,call方法和length属性

2008-10-15 21:10 691 查看
看js的资料,随手记下一些认为实用的东东,以飨和我一样正在学习的诸位看官。

“JavaScript 为函数对象定义了两个方法:apply 和call,它们的作用都是将函数绑定到另外一个对象上去运行,两者仅在定义参数的方式有所区别:

Function.prototype.apply(thisArg,argArray); Function.prototype.call(thisArg[,arg1[,arg2…]]); 从函数原型可以看到,第一个参数都被取名为thisArg,也就是说,所有函数内部的this 指针都会被赋值为thisArg,这就达到了将函数作为另外一个对象的方法运行的目的。两个方法除了thisArg 参数,都是为Function 对象传递的参数。下面的代码说明了apply 和call 方法的工作方式:"(上面这段抄自<<征服ajax>>电子书,如有版权纠纷,请联系电子书作者,与本人无关)

Code

function fun1(a, b, c) {

}

function fun2(a, b) {

}

function fun3() {

}

function test() {

for (var i = 1; i < 4; i++) {

var len = eval(("fun" + i) + ".length");

alert(len);

}

// alert(fun1.length);

// alert(fun2.length);

// alert(fun3.length);

}

与length属性不同,js有一个传递给函数的隐含参数,arguments,它也有一个length属性,下篇细说从头,洗洗睡了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: