求解答,为什么编译结果是helloworld在第一行,就是输出修改后的在第一行?
innerHTML
javascript
hello
|
免责声明:本内容仅代表回答会员见解不代表天盟观点,请谨慎对待。
版权声明:作者保留权利,不代表天盟立场。
|
|
|
|
说下输出步骤吧,从上往下执行,位置排序分别是:
首先是1、javascript
;
其次是2、 hello
;
再次是3、document.write("原标题:"+mychar.innerHTML+"
"); (这里document.write 处于页面载入状态,因此是增加,而不是覆盖),这里mychar.innerHTML还是“javascript“
再次是4、mychar.innerHTML="helloworld";,这一条一旦执行,就会覆盖第一条标签的内容;
再次是5、document.write("修改后的标题:"+mychar.innerHTML); (同理,document.write增加不覆盖),由于第4步,覆盖了mychar.innerHTML,因此这里是"helloworld"
执行完毕,所以现在界面显示:
1、helloworld
;(被上面第四条更改了内容)
2、 hello
;
3、document.write("原标题:"+mychar.innerHTML+"
");(显示更改前的内容,即javascript)
4、document.write("修改后的标题:"+mychar.innerHTML); (显示更改后的内容,即helloworld) |
|
|
|
|
这个与标签属性的优先级有关,优先级高的,最先调用,也就最先输出。 |
|
|
|
|