課程
/前端開發(fā)
/JavaScript
/JavaScript進(jìn)階篇
第四個(gè)數(shù)組存儲(chǔ)的數(shù)據(jù)為什么會(huì)顯示null?第五個(gè)數(shù)組存儲(chǔ)數(shù)據(jù)為什么會(huì)出錯(cuò)?
2014-12-30
源自:JavaScript進(jìn)階篇 3-3
正在回答
樓上說(shuō)得沒(méi)錯(cuò),因?yàn)轫?yè)面加載是從上到下加載的,當(dāng)瀏覽器讀取到數(shù)組時(shí),由于后面的P元素等所有的內(nèi)容都還沒(méi)有加載,造成程序找不到這2個(gè)值,所以才會(huì)報(bào)錯(cuò)。
解決方法就像樓上說(shuō)的,將代碼放到文檔的最后,這樣當(dāng)瀏覽讀到數(shù)組時(shí),整個(gè)文檔所有的元素內(nèi)容都已經(jīng)加載完成,就不會(huì)出錯(cuò)了。
這樣就可以了。P標(biāo)簽放在前面,script放在P標(biāo)簽后面
<!DOCTYPE?html?PUBLIC?"-//W3C//DTD?XHTML?1.0?Transitional//EN"?"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html?xmlns="http://www.w3.org/1999/xhtml"> <head> <meta?http-equiv="Content-Type"?content="text/html;?charset=utf-8"?/> <title>數(shù)組賦值</title> </head> <body> <p?id="con">數(shù)組每個(gè)值有一個(gè)索引號(hào)</p> <script?language="javascript"> ?var?myarr=new?Array(4); ?myarr[0]=80; ?myarr[1]=90; ?myarr[2]=document.getElementById("con"); ?myarr[3]=document.getElementById("con").innerHTML; ?//var?myarray=new?Array(80,90,68); ?//var?myarray=[80,90,68]; ??document.write("數(shù)組第一個(gè)值是:"+myarr[0]+"<br>"); ??document.write("數(shù)組第二個(gè)值是:"+myarr[1]+"<br>"); ??document.write("數(shù)組第三個(gè)值是:"+myarr[2]+"<br>"); ??document.write("數(shù)組第三個(gè)值是:"+myarr[3]+"<br>"); </script> </body> </html>
是因?yàn)閖s從上到下執(zhí)行的。
執(zhí)行document.getElementById("fff")的時(shí)候p標(biāo)記還沒(méi)有加載出來(lái)。
第四個(gè)數(shù)組存儲(chǔ)的數(shù)據(jù)為什么會(huì)顯示null:因?yàn)轫?yè)面中沒(méi)有id為fff的元素。
第五個(gè)數(shù)組存儲(chǔ)數(shù)據(jù)為什么會(huì)出錯(cuò):因?yàn)轫?yè)面中沒(méi)有id為fff的元素,值為null,而null是沒(méi)有innerHTML屬性的,可以類比于空指針
JavaScript 數(shù)組可以存儲(chǔ)任何類型的數(shù)據(jù)(包括數(shù)字、字符串、布爾值、數(shù)組、對(duì)象,甚至是函數(shù)等等),并且可以混合存儲(chǔ),比如第一個(gè)是數(shù)字,第二個(gè)可以是字符串等等;
舉報(bào)
本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁(yè)動(dòng)態(tài)交互世界
2 回答數(shù)值類型+布爾類型等于布爾類型?
5 回答布爾值和字符串是什么,為什么數(shù)值和布爾值不用加引號(hào)?
1 回答setinterval的返回值的數(shù)據(jù)類型為什么是數(shù)字?
1 回答數(shù)組存儲(chǔ)的數(shù)據(jù)可以同時(shí)是任何類型
4 回答字符串賦值給數(shù)組?????
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2016-06-12
樓上說(shuō)得沒(méi)錯(cuò),因?yàn)轫?yè)面加載是從上到下加載的,當(dāng)瀏覽器讀取到數(shù)組時(shí),由于后面的P元素等所有的內(nèi)容都還沒(méi)有加載,造成程序找不到這2個(gè)值,所以才會(huì)報(bào)錯(cuò)。
解決方法就像樓上說(shuō)的,將代碼放到文檔的最后,這樣當(dāng)瀏覽讀到數(shù)組時(shí),整個(gè)文檔所有的元素內(nèi)容都已經(jīng)加載完成,就不會(huì)出錯(cuò)了。
2015-04-01
這樣就可以了。P標(biāo)簽放在前面,script放在P標(biāo)簽后面
2014-12-30
第四個(gè)數(shù)組存儲(chǔ)的數(shù)據(jù)為什么會(huì)顯示null?第五個(gè)數(shù)組存儲(chǔ)數(shù)據(jù)為什么會(huì)出錯(cuò)?
是因?yàn)閖s從上到下執(zhí)行的。
執(zhí)行document.getElementById("fff")的時(shí)候p標(biāo)記還沒(méi)有加載出來(lái)。
2014-12-30
第四個(gè)數(shù)組存儲(chǔ)的數(shù)據(jù)為什么會(huì)顯示null:因?yàn)轫?yè)面中沒(méi)有id為fff的元素。
第五個(gè)數(shù)組存儲(chǔ)數(shù)據(jù)為什么會(huì)出錯(cuò):因?yàn)轫?yè)面中沒(méi)有id為fff的元素,值為null,而null是沒(méi)有innerHTML屬性的,可以類比于空指針
2014-12-30
JavaScript 數(shù)組可以存儲(chǔ)任何類型的數(shù)據(jù)(包括數(shù)字、字符串、布爾值、數(shù)組、對(duì)象,甚至是函數(shù)等等),并且可以混合存儲(chǔ),比如第一個(gè)是數(shù)字,第二個(gè)可以是字符串等等;