如何转义模块模式长命名空间

时间:2016-06-28 13:08:34

标签: javascript

为什么我们可以这样做,

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真的很难......

1 个答案:

答案 0 :(得分:1)

因为在您的第二个示例中a bc未定义!你实际定义的是example.UI.a example.UI.bexample.UI.c,所以在某种程度上:

example.UI  = {
      a : 1,
      b : 2,
      c : 3
};

等于

example.UI.a=1,
example.UI.b=2,
example.UI.c=3,