gpt4 book ai didi

javascript - 调用对象内的另一个函数

转载 作者:行者123 更新时间:2023-11-28 11:16:35 24 4
gpt4 key购买 nike

在浏览了有关此主题的几个不同问题后,我仍然对如何从对象内访问另一个函数感到困惑。

window.Think = {
initialize: function(){
this.currentNumber = 0;
},
updateNumber: function(){
this.currentNumber += 1;
},
listener: function(){
document.getElementById('foo').addEventListener('click', function(){
this.parent.updateNumber(); //this is where I want to call the prev function
}
}

我收到的错误是无法调用未定义的方法“updateNumber”

如何从 listener() 中调用 Think.updateNumber()

最佳答案

回调函数经常会丢失上下文(上下文是 this 的值)。所以你必须保存this的值。与回调函数共享的局部变量。常见的约定是 var self = this

listener: function(){
var self = this;
document.getElementById('foo').addEventListener('click', function(){
self.updateNumber();
}
}

关于javascript - 调用对象内的另一个函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20671847/

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