作者povertytrap (povertytrap)
看板Web_Design
标题[问题] 想请问这题显示问题
时间Mon Apr 11 23:18:29 2016
请问一下各位大大
<!DOCTYPE html>
<html>
<body>
<p> line 1 </p>
<p id="demo"></p>
<p> line 2 </p>
<script>
var cars = ["BMW", "Volvo", "Saab", "Ford"];
var i = 0;
var text = "";
while (cars[i]) {
text += cars[i] + "<br>";
i++;
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
line 1
BMW
Volvo
Saab
Ford
line 2
我知道 getElementById是抓取ID的属性的物件
可是<p id="demo"></p>并非函数 也没呼叫 为何会跳去先执行
document.getElementById("demo").innerHTML = text; 而非按照顺序由上往下执行呢?
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 163.25.119.4
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1460387911.A.7A0.html
1F:推 LPH66: 它是由上往下执行没错, javascript 的能力就是可以在东西 04/11 23:21
2F:→ LPH66: 已经建立之後再去改变内容, 这里是在 <p id="demo"></p> 04/11 23:21
3F:→ LPH66: 已经存在在网页上之後, 这一行 javascript 去改变它的 04/11 23:22
4F:→ LPH66: innerHTML 来更改其内容 04/11 23:22
5F:→ povertytrap: 我还是不太懂直译式语言没呼叫也非函数怎可以跳着跑 04/11 23:24
6F:推 lostnorth: 可以补充一下你预期的结果吗? 04/11 23:56
7F:→ lostnorth: 看不懂你的问题在哪 04/11 23:56
8F:→ povertytrap: 我预期结果是 line1 lin2 後面接BMW....... 04/12 00:02
9F:→ povertytrap: 我问题是jacascript是直译式语言除非有函数呼叫才会 04/12 00:03
10F:→ povertytrap: 跳着执行..可是在这例子中没函数呼叫.怎会优先跑下面 04/12 00:04
11F:推 lostnorth: 可以想成 javascript 虽然嵌在 HTML 内,但他不是 HTML 04/12 00:12
12F:→ lostnorth: 的一部分,在这个范例中 HTML 是排版,js 是改变内容 04/12 00:13
13F:推 vi000246: 这段语法的意思是找到id=demo的节点 插入text的内容 04/12 00:26
14F:→ vi000246: 所以看起来会是line1 text line2 04/12 00:26
15F:推 agreerga: 你已经排版p demo p 了 改变内容当还是在中间 04/12 09:15
16F:推 Peruheru: 你把<p id="demo"></p>放在中间,怎麽会预期他最後出现? 04/12 10:36
17F:→ Peruheru: 甲乙丙三个人依序排排站,然後叫乙蹲下来,乙也不会跑到 04/12 10:38
18F:→ Peruheru: 最後去吧? 04/12 10:38
19F:→ Peruheru: 你没有叫他往後跑他当然不会往後跑罗 04/12 10:39
20F:→ povertytrap: 大致上了解谢谢各位 04/12 11:54