私はこのようなことをする必要があります:
<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>