全局命名空间Javascript错误

时间:2016-04-13 01:30:59

标签: javascript namespaces global

var NS = NS|{};  
NS.A = {
prop1: 'hello',
prop2: 'there',
func: function() {alert('boo');}  
}; 
NS.A.func()

上面的代码给出了NS.A未定义的错误。 如果我声明NS如下,它可以工作

var NS = {};

帮助我理解为什么。我正在尝试使用全局命名空间 https://developer.mozilla.org/en-US/docs/Web/JavaScript/Introduction_to_Object-Oriented_JavaScript

1 个答案:

答案 0 :(得分:1)

这实际上应该可行,你只是在第一行有一个拼写错误。

你有: <dependency> <groupId>org.apache.lucene</groupId> <artifactId>lucene-test-framework</artifactId> <version>${lucene.version}</version> <scope>test</scope> </dependency> <dependency> <groupId>org.elasticsearch</groupId> <artifactId>elasticsearch</artifactId> <version>${elasticsearch.version}</version> <scope>test</scope> <type>test-jar</type> </dependency>

您应该:var NS = NS|{};

This article解释了这种评估