为什么我们可以这样做,
var a = 1,
b = 2,
c = a + b;
但我们不能用模块模式,
var example = example || {};
example.UI = {
a : 1,
b : 2,
c : a + b // this is not possible unless I use "this" or full name example.UI.a/b
};
为什么我们必须在example.UI中使用“this”或“full namespace”来获取sibiling属性......
使用全名sapces真的很难......
答案 0 :(得分:1)
因为在您的第二个示例中a
b
和c
未定义!你实际定义的是example.UI.a
example.UI.b
和example.UI.c
,所以在某种程度上:
example.UI = {
a : 1,
b : 2,
c : 3
};
等于
example.UI.a=1,
example.UI.b=2,
example.UI.c=3,