JS中函数四种调⽤⽅法
⾸先我们要知道,JS中函数调⽤共有四种⽅法。call()就是其中⼀种。我先简单的的说明以下四种⽅法:
我们先定义⼀个函数:
1.
function test(){
2.
/**do something**/
3.
}
1)第⼀种,也就是最常见的调⽤⽅法:
test();
2)第⼆种:对象调⽤
我们需要把定义的函数放到⼀个对象⾥⾯(obj)
1.
var obj={
2.
test:function (){
3.
/**do something**/
4.
}
5.
}
调⽤:
3)第三种:构造函数调⽤
1.  var tmp = new test();
4)第四种:使⽤call()或者applay()
这种⽅法调⽤的时候必须传递⼀个参数,只要不空着即可。
test.call(null)
其实,以上调⽤⽅式,隐含的传递了⼀个变量:this。
有点⾯向对象基础的⼈都知道,this是⼀个“指针”,对于js来说,this指向了⽅法的作⽤域。⽽call()的作⽤,恰恰就是改变这个作⽤域(this)。也就是call(null)中必须的那个参数成为了新的this。
再打个⽐⽅,call()就像现实⽣活中的打电话,⾸先打电话前要拨号,这个号码就相当于this,必须有号码才有可能拨通电话。⽽拨打不同的号码,即call(null)的参数值不同,接电话的⼈(作⽤域)也不同。⽽给接电话⽅传递的信息可以通过call(null,param,)的其他不必须参数传递,接电话的⼈也可以通过函数的return回复消息!
>js方法

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。