一直对javascript的apply和call方法的使用比较模糊,前段时间在研究angularjs的源代码时,发现这两个方法非常的强大,使用的场景非常多,这里做个总结。apply和call都是对某个方法的应用,区别在于apply有两个参数:apply(obj,args),其中o ...
一直对javascript的apply和call方法的使用比较模糊,前段时间在研究angularjs的源代码时,发现这两个方法非常的强大,使用的场景非常多,这里做个总结。
apply和call都是对某个方法的应用,区别在于apply有两个参数:apply(obj,args),其中obj为方法应用的对象,args为参数数组;call有多个参数,call(obj,arg1,arg2,arg3......),obj和apply的obj一样,而参数则是用逗号隔开,有多少个参数就传多少个。下面以apply为例,需要注意的是apply的第二个参数必须为数组,否则会报错。
1.obj为null、undefined、bool值、0、this、window等的时候,相当于调用方法自身。
function test(arg) {
原标题:javascript的apply和call方法的使用详解
关键词:JavaScript
*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们:
admin#shaoqun.com
(#换成@)。