/**
 * 公共js
 */
// 模块名称注册
if (abc == null)
var abc = {};
if (abc.common == null)
abc.common = {};abc.common = {
  abc123:function(){}
}
其他地方引用是
abc.common.abc123()
一开始的abc就这样没声明,这么写有什么意义吗

解决方案 »

  1.   

    if   (abc   ==   null) var   abc   =   {}; //不存在创建
    if   (abc.common   ==   null) abc.common   =   {}; //不存在创建
    abc.common   =   { abc123:function(){} } //好象是构造成员
    其他地方引用是 
    abc.common.abc123() //调用
    总之好象就是实现类似OO的写法
      

  2.   

    因为js会预编译var变量和function,所以这样写不会有问题.
    至于有什么特殊的用意嘛,实在没看出来.
    这段代码只是先定义一个对象abc,
    然后定义一个对象common作为abc的属性,
    之后是把一个匿名函数赋给对象abc123并作为common的属性.
      

  3.   

    if   (abc   ==   null) 
    var   abc   =   {}; 如果这是个全局变量,在当前页可能会要改动他的值,留着其他操作用,那么初始化时就默认定义一个对象,那么有了操作给它赋值了之后,就直接用那个值,我想它的原意是这样的