作用:根据不同的上下文环境,让函数产生不同的输出结果。
1、用法:
function test(arg0,arg1){
}
test.call(obj,arg0,arg1); --参数列表
test.apply(obj,[arg0,arg1]); --数组
2、使用情况(可以参考http://www.jb51.net/article/89501.htm)
1)、判断类型
console.debug(Object.prototype.toString.call([])=="[object Array]");
//true
2)、改变上下文环境
3)、实现继承
function p() {
this.fun=function() {}
}
//让c拥有p的功能
function c() {
this.fun2 = function() {}
p.protype.call(this);
}
4)、用于对象函数中
var foo = {
AA:"A",
BB:function(){
}
}
var bar={
name:"Test"
};
foo.logName.call(bar);