问答详情
源自:4-3 [JavaScript]属性操作

var yz=obj&&obj.y&&obj.y.z;

老师您好!我用Node.js运行了一下您提到的“var yz=obj&&obj.y&&obj.y.z;”代码和运行结果如下 没有起到获取obj.y.z的效果,是不是我哪里弄错了

http://img.mukewang.com/57a5aacd00017e0905990307.jpg

提问者:GISGOGOGO 2016-08-06 17:19

个回答

  • qq_慕慕947699
    2019-10-21 20:16:06

    http://img3.mukewang.com/5dada1810001520904240122.jpg这样子

  • king0964
    2019-02-13 14:28:48

    var obj={x:1}

    obj.y={z:3}

    obj.y.z


  • ZTON
    2016-12-05 12:27:33

    这个问题的关键点在于若var y=2   

     y.z=3这个赋值语句过后y.z是否存在。

    y.z实际验证之后是不存在的为undefined,可能因为 y的值是基本数据类型 而非对象,

  • 慕姐3618514
    2016-11-09 21:57:53

    var obj2 = {  

         x:1,  

         y:2,  

         o: {  

             z:3,  

             n:4  

         }  

    };  

    这样定义就可以了

  • Cassie_yu
    2016-08-11 11:20:29

    我的理解是, 对于obj.y.z,如果y只是一个属性的话,这种写法本身就是错误的,y.z代表的是对象y里面的一个z属性,所以y本身必须也是一个对象,这样才会有意义啊~~

  • GISGOGOGO
    2016-08-06 17:45:35

    试了一下 即使一开始将obj实例化为字符串  var obj = new Object("123aaa");  最终结果依然为undefined