我需要做这样的事情:
<script src="apiWrapper.js"></script>
<script>
apiWrapper.init('api_key');
apiWrapper.doSomethingElse();
</script>
基本上,在页面中有一个单例样式对象,我也可以添加方法和属性,并且可以在页面内的任何位置使用。
最好的方法是什么?
答案 0 :(得分:3)
您可以使用此方法(它为您提供了一种拥有私有属性/功能的方法):
var apiWrapper = apiWrapper || (function () {
/* private functions here */
var privateFunction = function () {
}
/* public functions here */
return {
init: function (opts) {},
doSomethingElse: function () {}
};
})();
答案 1 :(得分:1)
我也将这个结构用于我的脚本:
<强> apiWrapper.js:强>
var apiWrapper = apiWrapper || {};
apiWrapper = {
doSomethingElse: function() {
},
init: function(options) {
}
};
如果你想进行函数链(比如jQuery),只需要在你希望链接的函数末尾return this;
。
答案 2 :(得分:0)
<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>