今天卢石给我看了个代码,突然看到了一个call函数,不甚明白,也没有找到对应的function call(),故想应当是JavaScript里的函数,后来google一下。看了别人的例子:http://xiaofeizm55333.javaeye.com/blog/80913 明白了很多。
例如:method.call(node, args)其实就是相当于node.method(args). 其中method为一个function,也就是能实现某种功能的函数。
function add(a, b){
alert(a+b);
}
function sub(a,b){
alert(a-b);
}
add.call(sub, a, b);//the same with sub.add(a, b);because here the sub function is a object, also somebody call inheritance
另外就还有一个apply函数,是与call函数类似的。call(obj, args1, args2, args3,...),apply(obj,[args1, args2, args3,...])两者的区别就在于obj后面的参数是单个的,还是数组类型的。
就是这些了。
本文介绍了JavaScript中call与apply函数的区别与用法,并通过示例详细解释了如何使用这两个函数来改变函数调用的上下文。
959

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



