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

How to escape module pattern long namespace

本文关键字:模块 模式 命名空间 转义 何转义      更新时间:2023-09-26

为什么我们可以这样做,

var a = 1,
    b = 2,
    c = a + b;

但是我们不能在module pattern中,

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
};

为什么我们必须在示例中使用"this"或"full namespace" ?UI获取兄弟属性…

使用全名非常困难…

因为在第二个示例中abc没有定义!你实际上定义的是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,