我需要做这样的事情:
<script src="apiWrapper.js"></script>
<script>
apiWrapper.init('api_key');
apiWrapper.doSomethingElse();
</script>
本质上,在页面中有一个单例样式对象,我也可以添加方法和属性,并且可以从页面中的任何位置使用。
最好的方法是什么?
我需要做这样的事情:
<script src="apiWrapper.js"></script>
<script>
apiWrapper.init('api_key');
apiWrapper.doSomethingElse();
</script>
本质上,在页面中有一个单例样式对象,我也可以添加方法和属性,并且可以从页面中的任何位置使用。
最好的方法是什么?
您可以使用这种方法(它为您提供了一种拥有私有属性/功能的方法):
var apiWrapper = apiWrapper || (function () {
/* private functions here */
var privateFunction = function () {
}
/* public functions here */
return {
init: function (opts) {},
doSomethingElse: function () {}
};
})();
我也将这种结构用于我的脚本:
apiWrapper.js:
var apiWrapper = apiWrapper || {};
apiWrapper = {
doSomethingElse: function() {
},
init: function(options) {
}
};
如果你想做函数链接(如 jQuery),只需return this;
在你希望链接的函数的末尾。
<script>
...
// create your singleton in the global scope
if(!("apiWrapper" in window))
window.apiWrapper = {};
...
// use your singleton object
apiWrapper.init = function() {...};
apiWrapper.prop = 123;
...
apiWrapper.init();
</script>