相关疑难解决方法(0)

使用JS .call()方法的原因是什么?

我很感兴趣在JS中使用call()方法的原因是什么.它似乎重复了通常的调用方法this.

例如,我有一个call()代码.

var obj = {
    objType: "Dog"
}

f = function(did_what, what) {
    alert(this.objType + " " + did_what + " " + what);
}

f.call(obj, "ate", "food");
Run Code Online (Sandbox Code Playgroud)

输出是"狗吃食物".但是同样的结果我可以将函数分配给对象.

var obj = {
    objType: "Dog"
}

f = function(did_what, what) {
    alert(this.objType + " " + did_what + " " + what);
}

obj.a = f;
obj.a("ate", "food");
Run Code Online (Sandbox Code Playgroud)

结果是一样的.但这种方式更容易理解和使用.为什么需要call()?

javascript methods function this

58
推荐指数
4
解决办法
3万
查看次数

标签 统计

function ×1

javascript ×1

methods ×1

this ×1