将变量传递给另一个模块

时间:2018-05-17 11:34:05

标签: javascript

我有一些访问常见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?
}());

3 个答案:

答案 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);