请看如下代码:a={};
a.b={};
a.b.c=100;
alert(a.b.c);//100
alert(b.c);//b未定义???怎么会这样?既然b未定义那上面怎么能取到值100呢?真的不明白啊!!!
alert(c);//

解决方案 »

  1.   

    a.b是a的一个成员,名字叫b,a.b.c是a的成员b中的一个成员,名字是c
      

  2.   

    就相当于function a(){
      var b=30;
    }
    alert(a.b);alert(b)//未定义
      

  3.   

    错了
    是  function a(){
       this.b=30;
       return this;
                }
      var x=new a()
       alert(x.b);
    alert(b)//未定义
           
          
      

  4.   

    作用域问题。
    a={};//定义global变量a
    a.b={};//给a添加属性b
    a.b.c=100;//给a.b添加属性c
    alert(a.b.c);//100
    alert(b.c);//alert相当于window.alert(b.c);在window这个作用域里面没有一个叫做b的属性。
    alert(c);//同上
      

  5.   

    你这个写法换成json就是
    a = {b:{c:100}};
    你告诉我哪里定义了b?