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

Jquery, using value of a variable inside a function, to set the value of another variable out side of that function

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

感谢您对此提供的任何帮助,我已经尝试解决这个问题一段时间了。

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

        var rotator;

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

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

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

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

无法访问函数的内部范围(如果未绑定到对象)。照原样,我建议将您的 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);