call和apply的作用都是将函数绑定到另一个对象上运行
两者的格式和参数定义:
call(object,arg1,arg2,...); //arg1,arg2...为参数列表
apply(object,argArray); //argArray为参数数组
上面两个函数内部的this指针都会被赋值给object,这样可实现将函数作为另外一个对象(也就是这里的object)的方法运行的目的
1.call的简单用法
2.call用于继承
两者的格式和参数定义:
call(object,arg1,arg2,...); //arg1,arg2...为参数列表
apply(object,argArray); //argArray为参数数组
上面两个函数内部的this指针都会被赋值给object,这样可实现将函数作为另外一个对象(也就是这里的object)的方法运行的目的
1.call的简单用法
<script type="text/javascript">
var value="global value";
function func1()
{
this.value="local value";
}
function func2()
{
alert(this.value);
}
window.func2(); //结果为global value
func2.call(new func1()); //将func2绑定到func1上,此时的this指向func1,因此结果为local value
</script>
2.call用于继承
<script type="text/javascript">
function A(){
this.value="a";
this.showValue=function(){alert(this.value);}
}
function B(){
A.call(this); //B继承A中所有属性
}
var b=new B();
b.showValue();
</script>