Jquery使用函数内部变量的值来设置该函数外的另一个变量的值

时间:2015-02-14 05:09:49

标签: jquery variables

我已经抽象并隔离了我在我创建的jquery插件中编写的一大块代码。在此代码中,变量'选择器'在循环中的值为' rotator'。我想使用该变量的值来设置在循环外声明的变量旋转器的值。我曾尝试使用窗口,但显然这不起作用。你会怎么做呢?

感谢您对此提供任何帮助,我一直试图解决这个问题。

;(function ( $, window, document, undefined ) { 
    $.fn.plugin_name = function( options ) { 

        var rotator;

        for ( var selector in selectors ) {
            window[selector] = selector_obj;   
        }
    };
})(jQuery);

2 个答案:

答案 0 :(得分:1)

无法访问函数的内部范围(如果未绑定到对象)。我建议您将rorator变量放入一个对象中,例如这里名为collection,您可以轻松访问:

;(function ( $, window, document, undefined ) { 
  $.fn.plugin_name = function( options ) {
      var collection = {};
      collection.rotator = ...;

      for ( var selector in selectors ) {
          collection[selector] = selector_obj;   
      }
  };
})(jQuery);

答案 1 :(得分:0)

您可以在外部函数中定义您的旋转变量:

(function ( $, window, document, undefined ) { 
    var rotator;

    $.fn.plugin_name = function( options ) { 
        for ( var selector in selectors ) {
            // use rotator here
            window[selector] = selector_obj;   
        }
    };
})(jQuery);