我有一些访问常见HTML元素的模块。我正在考虑制作一个模块来为每个元素创建变量,以避免不断访问DOM树,但不知道如何去做。
因此...
var Handles = (function(){
var $ag= $('.ui.dropdown.age_group');
// ... more like above
}());
var SomeModule= (function(){
console.log($ag); // Can I access $ag here somehow?
}());
答案 0 :(得分:2)
您可以ag
全局
var ag;
var Handles = (function(){
ag = 5;
}());
var SomeModule= (function(){
console.log(ag);
}());

不确定这是否是您要找的,但另一种选择是将SomeModule
称为函数
var Handles = (function() {
var ag = 6;
SomeModule(ag);
}());
function SomeModule(x) {
console.log(x);
}

答案 1 :(得分:0)
如果你愿意,可以将它作为Handles的对象返回。
var Handles = (function() {
var $ag = ['Element'];
return {
$ag: $ag
};
}());
var SomeModule = (function() {
console.log(Handles.$ag);
}());

答案 2 :(得分:-1)
这是一个选项,但您可以使用其他表单执行此操作。
var Handles = (function(){
var $ag= $('.ui.dropdown.age_group');
// ... more like above
}());
var SomeModule= (function(){
console.log(Handles.$ag); // Can I access $ag here somehow?
}());
还可以创建其他模块来共享变量!
var shared = (function () {
var variable1 = 1;
})();
var module1 = (function (shared) {})(shared);