关于JavaScript中call方法的说明

call()方法在使用一个指定的this值和若干个指定的参数值的前提下调用某个函数或方法。

一、语法定义:

fun.call(thisArg[, arg1[, arg2[, ...]]]);

二、参数说明:
thisArg:在fun函数运行时指定的this值。需要注意的是,指定的this值并不一定是该函数执行时真正的this值,如果这个函数处于非严格模式下,则指定为null和undefined的this值会自动指向全局对象(浏览器中就是window对象),同时值为原始值(数字,字符串,布尔值)的this会指向该原始值的自动包装对象。

arg1, arg2, …:指定的参数列表。

三、方法描述:
当调用一个函数时,可以赋值一个不同的this对象。this引用当前对象,即call方法的第一个参数。通过call方法,你可以在一个对象上借用另一个对象上的方法,比如

Object.prototype.toString.call([]);

就是一个Array对象借用了Object对象上的方法。

更多信息请参阅:Function.prototype.call() – JavaScript | MDN

发表回复