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

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

有點混亂了,這些代碼的執行順序問題

通過innerHTML修改<h2>里的內容不是在輸出<h2>之后才執行的嗎,<h2>已經輸出了為何還能改寫?

另外一提,既然<h2>被改寫了,為何原標題那里顯示的是: ? ? 原標題:javascript ? ?而不是原標題:hello world!

正在回答

6 回答

<script type="text/javascript">

? function fu(){

? ? ? var mychar=document.getElementById("con");

? ? ? document.write("原標題:"+mychar.innerHTML+"<br>"); //輸出原h2標簽內容

? ? ? mychar.innerHTML="Hello world!";

? ? ? document.write("修改后的標題:"+mychar.innerHTML); //輸出修改后h2標簽內容

? }

? var panduan=confirm("確定修改h2標題嗎?");

? if(panduan){

? ? fu();

? }

? </script>

可將上述代碼與原先代碼進行對比。

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

個人理解:(如有理解不到位的地方,請大神指正)

1、頁面渲染完成后進行頁面繪制;

<script type="text/javascript">

? var mychar=document.getElementById("con");

? document.write("原標題:"+mychar.innerHTML+"<br>"); //輸出原h2標簽內容

? mychar.innerHTML="Hello world!";

? document.write("修改后的標題:"+mychar.innerHTML); //輸出修改后h2標簽內容

</script>

上述JavaScript代碼是在頁面渲染過程中執行的;

2、“按引用傳遞”,id為con的<h2>標題和mychar是同一個引用(可以理解為指向同一個內存地址的指針)。

mychar.innerHTML="Hello world!";語句改變了mychar所指向內存地址中存儲的值(由javascript”變為了“Hello world!”),那么在繪制id為con的<h2>標題時,也會按“Hello world!”來繪制。

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

哈哈兄弟不錯,自己能悟到一些,不過還不夠,我要給你來個畫龍點睛:去查查“按值傳遞”與“按引用傳遞”!瞬間明悟!

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

堅持MyDream 提問者

好的,我去看看,謝謝提點
2016-10-17 回復 有任何疑惑可以回復我~

大概懂了, ?innerHTML是 獲取和修改 ?Object標簽內容的,也就是說 ?第一個document.write處是獲取Object標簽內容修改前的值,獲取到值之后跟Object標簽之間不會互相影響。

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

感覺修改內容這點有點像 ?初始化 ?,初始化要放到 head標簽里

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

原因是先執行Object.innerHTML修改內容是嗎

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

舉報

0/150
提交
取消
JavaScript入門篇
  • 參與學習       741374    人
  • 解答問題       9868    個

JavaScript做為一名Web工程師的必備技術,本教程讓您快速入門

進入課程

有點混亂了,這些代碼的執行順序問題

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

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

幫助反饋 APP下載

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

公眾號

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