2016-04-13 25 views
0
var NS = NS|{}; 
NS.A = { 
prop1: 'hello', 
prop2: 'there', 
func: function() {alert('boo');} 
}; 
NS.A.func() 

上記のコードは、NS.Aが未定義のエラーであることを示しています。 私は以下のようにNSを宣言すると、それはグローバル名前空間Javascriptエラー

var NS = {}; 

は私が定義されている。これは、実際に動作するはず https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

答えて

1

でグローバルな名前空間を使用しようとしていますwhy.I、あなただけの最初のタイプミスを持って理解させる働きライン。

あなたは持っている:あなたが持っている必要がありvar NS = NS|{};

を:var NS = NS||{};

This articleは評価

+0

のこの種を説明する有益な記事を共有していただきありがとうございます。 – TrackTech

+0

var NS = NS || {};動作しますが、var NS = SS || {}; SSは未定義です。式は、SSが未定義であるため、エラーと評価されます。最初のステートメントでは、式が評価される前にNSも定義されていませんが、宣言の一部であるためエラーはスローされませんか? – TrackTech

関連する問題