私はいくつかの異なるアプリケーションで使用されるAPIのラッパーを作成しています。window.objectのプライベート関数を実装する
私はグローバルオブジェクトを使用していて、さまざまな機能をそのオブジェクトに異なるキーとして配置しています。だから私は持っています:
window.globalContainer = {
APIEndpoint1: function(){
make API call and resolve result
},
APIEndpoint2: function(){},
...
}
APIコールのすべての肉は直接関数にあります。つまり、コンソールからwindow.globalContainer.APIEndpoint1に行き、関数全体を見ることができます。
これは一般に、複数のアプリケーションで使用され、ヘルパーライブラリとして機能するものにとって悪い習慣ですか?それともこれは受け入れられますか?私はコンソールでjQueryを見て、それは同じことの多くを行うように見えました。それが嫌になった場合、グローバルオブジェクト内にプライベート関数を実装するにはどうすればよいですか?
@ m-davis、私はwindow.fooに結ばれた複数のオブジェクトを持っています。 'foo.bar.get'を追加する唯一の方法は、' foo.bar = {} 'で' foo.bar'を最初にインスタンス化することですが、エラーに遭遇しています。これらの新しいオブジェクト? –
@私が知っている限り、それは最良の方法です。 'foo.bar = {get:function(params){return baz;}、set:function(param){return baz = param;}}'よりコンパクトに行うことができます。また、 'global.foo'文の直前まで待って、' foo.bar = bar'と言うこともできます。そうすれば、 'bar'をその文の上の関数、オブジェクト、または変数にすることができます。 (注意して、 'var bar = {};'または 'function bar(...){...} 'をインスタンス化する必要があります) –
入手しました。助けてくれてありがとう –