如何访问另一个jquery函数的全局变量

How to access global variable of another jquery function

本文关键字:jquery 函数 全局变量 另一个 何访问 访问      更新时间:2023-09-26

我有两个jquery函数(父函数和覆盖函数)

父功能:

( function ( $ )
{
    var one = null;
    var two = {};
    $.fn.method = function(){
    // parent code;
    }
   })( jQuery ); 

覆盖功能:

( function ( $ )
{
$.fn.method = function(){
    // override code;
  }
  })( jQuery ); 

按预期工作。但是当我试图访问变量1或2时,我做不到。你知道为什么吗?是否有任何选项访问变量1和2从重写函数不修改父?

注意:在我的情况下,parent和override是两个独立的js文件合并到一个公共js中,而通过ant进行构建。

不行。这里有一个闭包,闭包的一个特点是你不能从其他地方访问它的变量。

如果要访问它们,必须添加访问器:

( function ( $ )
    {
        var one = null;
        var two = {};
        $.fn.method = function(){
        // parent code;
        }
        $.fn.getOne = function() {
            return one;
        };
        $.fn.setOne = function(n) {
            return one = n;
        };
})( jQuery ); 

你可能会对这个相关的问题感兴趣。