Namespace
/Unit
のオブジェクトにコードをラップする最もエレガントな方法を提供する方法を解決しようとしています。例えば、Google Maps APIのvar a = Google.Maps.Foo();
は、私は非常にきれいだと思います。JavaScriptでネームスペース/クラス型構造を作成する最もエレガントな方法
(つまり、右項の場合)私も同封にjQuery
No Conflict
$
記号を、それをしたいと思います。
これまでのところ私は好きいます:
// Top level container for sub objects
var myApp = myApp || {};
// An object to be held in myApp
(function(skillet, $, undefined) {
//Private Property
var isHot = true;
//Public Property
skillet.ingredient = "Bacon Strips";
//Public Method
skillet.fry = function() {
var oliveOil;
addItem("\t\n Butter \n\t");
addItem(oliveOil);
console.log("Frying " + skillet.ingredient);
return "Fried!";
};
//Private Method
function addItem(item) {
if (item !== undefined) {
console.log("Adding " + $.trim(item));
}
}
}(window.myApp.skillet = window.myApp.skillet || {}, jQuery));
は、誰もが潜在的な問題を指摘し、この上で展開する、または単に一般的に、より良い方法を提供することはできますか?
優雅さがあるので、何かをする*最も*エレガントな方法は、決してありません主観的。 – Philipp
あなたのために最善の決断を下すために必要なものはすべてここにあります:http://stackoverflow.com/questions/881515/javascript-namespace-declaration – NinjaNye
@NinjaNyeああ、それはどこからコードがありますか、私は拡大しようとしています本当に。 –