Mootools/Javascript范围问题
Mootools/Javascript scope question
我正在编写一个Mootools插件,但很难理解范围界定问题。一些代码来传达我的上下文:
var pluginName = new Class({
implements: [ Options ],
initialize: function(paramOne, options) {
this.setOptions(options);
},
someFunction: function() {
$$('menu').each(function(menu) {
// SCOPE OF INTEREST
});
}
};
我想知道是否有一种方法可以访问我写过"兴趣范围"的范围中的选项对象。我知道一种方法是在某个函数的开头设置一个变量,比如
someFunction: function() {
var optionIWantToAccess = this.options.relevantOption;
$$('menu').each(function(menu) {
// now optionIWantToAccess is available here
});
}
但这似乎有点笨拙,而且闻起来是一个更好的选择。这个问题的一个更通用的版本是:我可以访问Mootools迭代器中的类级作用域吗?
如有任何帮助,我们将不胜感激。
谢谢。
您可以将函数绑定到实例。
someFunction: function() {
$$('menu').each(function(menu) {
// 'this' is still the original instance
this.options.relevantOption;
}.bind(this))
}
函数#bind在旧浏览器中不可用,但添加对它的支持是非常直接的。
相关文章:
- setInterval游戏循环的范围问题
- Javascript innerHTML超出范围的问题
- AngularJs避免范围界定问题
- firefox中的Javascript事件范围问题
- AngularJS指令范围约束问题重复出现
- jQuery“this”范围问题
- 可以't在quizz页面范围问题上用最终分数更新变量
- JavaScript 函数变量范围问题
- 奇怪的可变范围问题
- JavaScript 中变量范围的问题
- 主干.js(具有 Require.js)变量/范围访问问题
- 递归承诺调用 - 内存范围变量问题
- JQuery 范围滑块步进更改问题
- AngularJS中的范围问题
- 如何在 JavaScript for D3.js 中解决这样的范围问题
- 我可以设置这个吗'某事'在该服务中动态创建的嵌套对象中的服务?(可能是范围问题)
- Highcharts列范围工具提示问题
- 在函数中提示未定义返回.(问题)范围
- 访问Javascript's变量:涉及Javascript, JQuery和PHP/MySQL的问题&范围
- JavaScript 闭包问题..范围