亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

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

老師您好!我用Node.js運行了一下您提到的“var yz=obj&&obj.y&&obj.y.z;”代碼和運行結果如下 沒有起到獲取obj.y.z的效果,是不是我哪里弄錯了

http://img1.sycdn.imooc.com//57a5aacd00017e0905990307.jpg

正在回答

6 回答

http://img1.sycdn.imooc.com//5dada1810001520904240122.jpg這樣子

0 回復 有任何疑惑可以回復我~

var obj={x:1}

obj.y={z:3}

obj.y.z


0 回復 有任何疑惑可以回復我~

這個問題的關鍵點在于若var y=2???

?y.z=3這個賦值語句過后y.z是否存在。

y.z實際驗證之后是不存在的為undefined,可能因為 y的值是基本數據類型 而非對象,

0 回復 有任何疑惑可以回復我~

var obj2 = { ?

? ? ?x:1, ?

? ? ?y:2, ?

? ? ?o: { ?

? ? ? ? ?z:3, ?

? ? ? ? ?n:4 ?

? ? ?} ?

}; ?

這樣定義就可以了

1 回復 有任何疑惑可以回復我~

我的理解是, 對于obj.y.z,如果y只是一個屬性的話,這種寫法本身就是錯誤的,y.z代表的是對象y里面的一個z屬性,所以y本身必須也是一個對象,這樣才會有意義啊~~

0 回復 有任何疑惑可以回復我~
#1

GISGOGOGO 提問者

有道理 能不能具體提供一段代碼 我感覺還是不太會
2016-08-24 回復 有任何疑惑可以回復我~

試了一下 即使一開始將obj實例化為字符串 ?var obj = new Object("123aaa"); ?最終結果依然為undefined

0 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

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

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號