Javascript中的call()方法介绍
在Mozilla的官网中对于call()的介绍是:
call()方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法.
Call()语法
fun.call(thisArg[,arg1[,arg2[,...]]])
Call()参数
thisArg
在fun函数运行时指定的this值。需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函数处于非严格模式下,则指定为null和undefined的this值会自动指向全局对象(浏览器中就是window对象),同时值为原始值(数字,字符串,布尔值)的this会指向该原始值的自动包装对象。
arg1,arg2,...
指定的参数列表。
Javascript中的call()方法
先不关注上面那些复杂的解释,一步步地开始这个过程。
Call()方法的实例
于是写了另外一个Hello,World:
functionprint(p1,p2){ console.log(p1+''+p2); } print("Hello","World"); print.call(undefined,"Hello","World");
两种方式有同样的输出结果,然而,相比之下call方法还传进了一个undefined。
接着,我们再来看另外一个例子。
varobj=function(){}; functionprint(p1,p2){ console.log(p1+''+p2); }
print.call(obj,"Hello","World");