只访问一次JavaScript/jQuery实例

只访问一次JavaScript/jQuery实例,javascript,jquery,function,call,Javascript,Jquery,Function,Call,我有一个jQuery函数,它在几个事件(按钮单击、更改等)中被调用 此函数在documentReadyFunction中调用,并提供起始值 每次调用此函数时,都会将参数传递给该函数 我的问题是:我不想每次调用函数时都创建一个新对象,因为如果我设置了一个变量来决定函数的一部分是否被执行,它将始终被覆盖 我必须做什么,访问第一个创建的实例,而不是每次函数调用都创建一个新实例 下面是我函数的简化版本。。也许你更了解我的问题 $.fn.doSomething=函数(参数1){ var localPar

我有一个jQuery函数,它在几个事件(按钮单击、更改等)中被调用

此函数在documentReadyFunction中调用,并提供起始值

每次调用此函数时,都会将参数传递给该函数

我的问题是:我不想每次调用函数时都创建一个新对象,因为如果我设置了一个变量来决定函数的一部分是否被执行,它将始终被覆盖

我必须做什么,访问第一个创建的实例,而不是每次函数调用都创建一个新实例

下面是我函数的简化版本。。也许你更了解我的问题

$.fn.doSomething=函数(参数1){
var localParam=param1;
var amicalledmorethanone=parseInt(0,10);
如果(参数1==1){
amicalledmorethanone=amicalledmorethanone+1;
if(amicalledmorethanone==1){
$('#run').val(一次或多次调用);
//用URL参数填充表单字段
//在获取URL VAL后,此操作只能执行一次
}否则{
//将localParam设置为0以退出此循环并到达outter else。。
localParam=0;
$.fn.doSomething(localParam);
}
}否则{
$('#run').val(一次或多次调用);
//使用用户输入数据,而不是URL参数
}
};
$.fn.剂量测定法(1);
$.fn.剂量测定法(1)

您可以使用以下模式:

var nameOfYourFunction = (function() {

    var initializedOnlyOnce = {};

    return function() {
        //use initializedOnlyOnce here.
    }

})();

这里你看到的是;当代码运行时,您可以立即创建并运行函数。外部函数立即返回内部函数,并将其分配给nameOfYourFunction。然后可以使用函数名();就像任何其他功能一样。但是,在外部函数中声明的任何变量都将可用于yourFunction()的名称,并且InitializedOnYonce将永远不会被再次初始化。

我没有看到任何对象被创建。
myObject=myObject | |{}
似乎是您过于简化了这一点,并且提供了一个太模糊的描述。很难理解您的问题是什么如果不在jq对象上调用它,就没有理由使用
$.fn.method
在jQuery原型上定义方法。就像我说的,很难理解你发布的代码背后的逻辑。。背后的故事是。。我有一个javascript,它通过post将数据发送到php站点。。php返回一个json字符串。我使用这些内容填写网站上的表单字段。现在我必须构建一个函数,用url参数填充表单字段。这是一个在线商店的配置程序。如果客户已经订购了物品,他可以使用链接向配置器提供他以前的数据(测量等)。现在,配置程序必须决定用户是否使用文章链接。如果数据将用于填写表格。否则,将显示一个空的配置程序。