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

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

3.6問題 求大神幫幫忙

document.write("數組的最大下標是:"+(mynum.length-1));

這個結果正確

document.write("數組的最大下標是:"+mynum.length-1);

去掉? mynum.length-1? 的括號后結果為?? NAN? 我不是很清楚這是為什么

求大神幫幫忙!



正在回答

5 回答

因為去掉后 程序判斷

document.write("數組的最大下標是:"+mynum.length? //按順序執行到這邊,發現-1就懵逼,出錯了 ?????????????????????????????????? -1);


加括號是優先級,你先算出長度值,再++++++上前面的字符串,你想辦法得到結果就好,不要想那么多為什么。。。


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

慕慕8192380 提問者

非常感謝!
2017-12-25 回復 有任何疑惑可以回復我~

因為被當成了連字符

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

NaN 是代表非數字值的特殊值。減號左邊操作數為字符串,無法執行減法操作,所以提示NaN

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

PaulPierce

mynum.length 可以作為操作數, 不信試試 document.write(mynum.length-1); 是可以輸出3的..
2018-12-25 回復 有任何疑惑可以回復我~

符號具有優先級,當你去掉括號時,系統不清楚你先加后減,還是先mynum.length-1。

mynum.length-1的意思是數組長度-1,為數組最大下標,所以不能去掉括號

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

PaulPierce

正解!!!!
2018-12-25 回復 有任何疑惑可以回復我~

document.write()方法中"**"+ 已經被判斷為字符串了,這里的+是被判定為字符串的連接,這里的操作符已經不是運算符了

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

舉報

0/150
提交
取消
JavaScript進階篇
  • 參與學習       468833    人
  • 解答問題       22582    個

本課程從如何插入JS代碼開始,帶您進入網頁動態交互世界

進入課程

3.6問題 求大神幫幫忙

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

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

幫助反饋 APP下載

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

公眾號

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