gpt4 book ai didi

javascript - 如何不在javascript中重新定义变量

转载 作者:行者123 更新时间:2023-11-29 17:14:38 25 4
gpt4 key购买 nike

每次我调用 Client2.config.select2() 时,所有内容都会重新定义。

有没有办法阻止重新定义这样的函数/对象? IE。如果我想要另一个变量来保存此对象中的一些元素,运行 Client2.config.select2() 会覆盖它。

是否有一个众所周知的模式可以做到这一点?

Client2.config.select2 = function() {

var coreIDs = ['clientID', 'cptyID' , 'sym'];

var nonCoreIDs = ['groupBy','groupBy_impact_1','groupBy_impact_2',
'groupBy_impact_3','groupBy_impact_4'];

//non dynamic filters
var autoCompleteSettings = function () {
return {
allowClear : true,
minimumInputLength : 2,
multiple : true,
placeholder: "Select ",
closeOnSelect : false,
openOnEnter : true,
ajax: {
url : "../my?page=search",
dataType : 'json',
data : function(term, page) {
return {
q : term
};
},
results : function(data, page) {
return {
results : data
};
}
}
};
};

var multipleSettings = function () {
return {
placeholder : "Select ",
allowClear : true,
closeOnSelect : false,
maximumSelectionSize: 6
};
};

return {
getAutoCompleteSelectSettings: function() {
return new autoCompleteSettings();
},
getMultipleSelectSettings: function() {
return new multipleSettings();
},
getCoreSelect2IDs: function () {
return coreIDs;
},
getNonCoreSelect2IDs: function () {
return nonCoreIDs;
},
getSelect2IDs : function() {
return coreIDs.concat(nonCoreIDs);
}
}
};

最佳答案

您应该使用模块模式:http://www.adequatelygood.com/JavaScript-Module-Pattern-In-Depth.html

这方面的一个例子是:

(function (CkSpace, $, undefined) {
CkSpace.GetLoanValues = function () { //public member
//Do Stuff
}
var myNumber = 1; //private member

} (window.CkSpace = window.CkSpace || {}, jQuery));

关于javascript - 如何不在javascript中重新定义变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19004935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com