第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

JS屬性讀寫問題

這里obj.y.z什么意思,學(xué)JAVA沒見過這么調(diào)用屬性的,另外為什么上面var yz=obj.y.z不成立

下面的卻可以成立,什么原因?

正在回答

3 回答

其實(shí)這里是obj里有y這個(gè)屬性,這個(gè)y屬性是一個(gè)對象,里面還有屬性z,所以。。。

0 回復(fù) 有任何疑惑可以回復(fù)我~

你好,老師講的很清楚了,這里的?obj.y.z 的意思是在obj對象里找到 y ,再在 y 里找到 z ,報(bào)錯(cuò)的原因是 obj 里沒有 y ,更談不上 y 里有沒有 z 了,所以 obj.y 和 obj.y.z 都會報(bào)錯(cuò);下面是做了一個(gè)判斷 if(obj.y); 如果obj.y 成立,執(zhí)行里面的操作,還有 var yz = obj && obj.y && obj.y.z; 根據(jù)&&的運(yùn)行規(guī)則,是從左向右執(zhí)行的,如果有一個(gè)不符合則不再繼續(xù)執(zhí)行,這里從左向右執(zhí)行,依次是 obj,如果obj不存在,則返回false,如果存在繼續(xù)執(zhí)行 obj.y ,如果 obj.y 不存在,返回false,如果存在,則繼續(xù)向右執(zhí)行 obj.y.z,如果 obj.y.z 不存在,返回false ,如果 obj.y.z?存在則全部符合,執(zhí)行下面的語句,這個(gè) var?yz = obj && obj.y && obj.y.z; 相當(dāng)于obj.y 一樣,只是一個(gè)判斷,只不過判斷的更加嚴(yán)謹(jǐn)。

望樓主采納!

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

慕斯卡4106679 提問者

var yz; if(obj.y){ yz=obj.y.z;} 以上是if判斷語句只能確定obj有y屬性,但是不能確定有z屬性啊。 另外obj.y返回的應(yīng)該是y的值吧,怎么能作為判斷的條件呢?判斷的條件要返回true or false才行啊
2016-01-05 回復(fù) 有任何疑惑可以回復(fù)我~
#2

慕萊塢9220042 回復(fù) 慕斯卡4106679 提問者

這里是將 obj.y.z 的值賦給 yz,如果沒有,就給yz賦值false,有的話就給賦值了,不會報(bào)錯(cuò); 第二個(gè)問題:obj.y 如果放到if判斷里的意思就是如果obj里有y,則返回ture,如果沒有,則返回false;
2016-01-05 回復(fù) 有任何疑惑可以回復(fù)我~

鍵值對形式像json一樣,例如:var obj={x:1},那么obj.x=1;

如果 var obj={y:{z:1}},那么obj.y.z=1;外層可以嵌套。

因?yàn)閛bj.y是 undefined,說明obj.y沒有被定義。所以也就不存在下面的屬性。

下面加了判斷,如果obj.y被定義了。才執(zhí)行if里面的主體。所以不會報(bào)錯(cuò)。

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript深入淺出
  • 參與學(xué)習(xí)       281095    人
  • 解答問題       1054    個(gè)

由淺入深學(xué)習(xí)JS語言特性,且解析JS常見誤區(qū),從入門到掌握

進(jìn)入課程

JS屬性讀寫問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號