好的,我有一个名为“SelectorsModule”的模块。在其中,我有一个对象文字,它将包含将在各种用户交互期间在应用程序中使用的所有 jQuery 选择器(见下文)
为了避免每次使用选择器时重复相同的 $(selector) 代码,我认为将所有共享选择器元素放入其自己的“SelectorsModule”中会更有效。这样,如果需要进行任何更改,只需修改一处即可,一切仍然有效。每个选择器也可以从一个地方调用,即。例如,“SelectorsModule.getSelectors.selectorTwo”。
var SelectorsModule = SelectorsModule || {};
SelectorsModule = (function(){
// Private methods and variables
var sharedSelectors = {
selectorOne: $("#element-one"),
selectorTwo: $("#element-two"),
selectorThree: $("#element-three"),
selectorFour: $("#element-four")
};
// Public methods and variables
return{
getSelectors: function(){
return sharedSelectors;
}
};
})();
我的问题:
每次我现在在代码中使用
SelectorsModule.getSelectors.selectorOne
(以获取 jQuery 选择器对象)时,我只是引用SelectorsModule
的单个实例吗? code>,在脚本首次运行时创建,或者是一个新的SelectorsModule
“对象”,每次在幕后创建?后者显然会表现得更差,真的只需要一些澄清吗?我当前的方法是错误的、有缺陷的、正常的、良好的、完美的还是正确的?
最佳答案
1) 您使用最初创建的模块的相同实例。
2)我觉得这很好。
关于Javascript:使用 "Module Pattern"引用变量,有什么想法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25106265/