gpt4 book ai didi

javascript - Mootools/Javascript 范围问题

转载 作者:行者123 更新时间:2023-11-28 21:21:59 27 4
gpt4 key购买 nike

我正在编写 Mootools 插件,但无法理解范围界定问题。一些表达我的上下文的代码:

var pluginName = new Class({
implements: [ Options ],

initialize: function(paramOne, options) {
this.setOptions(options);
},

someFunction: function() {
$$('menu').each(function(menu) {
// SCOPE OF INTEREST
});
}
};

我想知道是否有一种方法可以访问我编写的“感兴趣范围”范围内的选项对象。我知道一种方法是在 someFunction 的开头设置一个变量,如下所示:

someFunction: function() {
var optionIWantToAccess = this.options.relevantOption;
$$('menu').each(function(menu) {
// now optionIWantToAccess is available here
});
}

但这看起来有点笨拙,而且似乎是一个更好的选择。这个问题的一个更通用的版本是:我可以在 Mootools 迭代器内访问类级作用域(不确定这是否是正确的术语......但初始化函数内的作用域就是我所说的)?

对此的任何帮助将不胜感激。

谢谢。

最佳答案

您可以将函数绑定(bind)到实例。

someFunction: function() {
$$('menu').each(function(menu) {
// 'this' is still the original instance
this.options.relevantOption;
}.bind(this))
}

Function#bind 在旧浏览器中不可用,但添加对它的支持非常简单。

关于javascript - Mootools/Javascript 范围问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6102485/

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