次のコード例は同じですか?異なるJS名前空間宣言
バージョン1:
var myNamespace = {};
myNamespace.say = function() {...}
バージョン2(JS-フィドル:https://jsfiddle.net/542wbkat/):
var myNamespace = new function() {
this.say = function() {...};
}
バージョン3:
var myNamespace = {
"say": function() {...}
}
私は純粋なJavaの背景から来て、この私にちょっと混乱しています。私はそれがすべて正常に動作するコードをテストしましたが、JSが内部的に異なるバージョンを処理するかどうかは不思議です。この記事を書く前に、私はMozilla Dev Network https://developer.mozilla.org/en-US/docs/Learn/JavaScript/Objectsの文書を読んでいましたが、まだ私の頭のarroundをラップすることはできません。
その他の質問 「myNamespace」名前空間で作成した関数を(クラスのインスタンスとして)インスタンス化できますか?または私はこれを得ています
乾杯!
さて、私は今、古いコードをクリーンアップしていると私は3種類のバージョン2を使用したファイルや、私が掃除していたプログラムを見つけました正常に静かに実行されていた。私は自分でスクリプトをテストしました。 – FabianTe
私は動作するバージョン2用のフィドルを作成しました: https://jsfiddle.net/542wbkat/ – FabianTe
関数で 'new'を使用しないでください.... –