gpt4 book ai didi

javascript绑定(bind)对象的原型(prototype)函数

转载 作者:行者123 更新时间:2023-11-30 09:02:52 26 4
gpt4 key购买 nike

如何将对象原型(prototype)中的 this 指针绑定(bind)到对象的实例?

function Foo(){ }
Foo.prototype.f1 = function(){this.f2();} //is wrong because 'this' does not refer to Foo instance
Foo.prototype.f2 = function(){}

这真的很烦人。谁能帮忙?我尝试在 Foo 的构造函数中执行 _.bindAll(this,'f1','f2') 但没有成功。

最佳答案

您在评论中提到您将 f1 设置为事件处理程序:

canvas.addListner('mousedown',this.f1, false)

相反,你可以传递一个闭包:

var self = this;
canvas.addListner('mousedown',function() {
self.f1();
}, false);

或者使用 Underscore.js 库的 bind 方法:

canvas.addListner('mousedown', _.bind(this.f1, this), false);

关于javascript绑定(bind)对象的原型(prototype)函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7789888/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com