Firefox vs Chrome JavaScript解释器的差异和相似之处

时间:2018-04-30 10:02:55

标签: javascript html web

<html>

<body bgcolor="WHITE">
  <p>Paragraph 1</p>
  <script type="text/javascript">
    //Script block 1
    alert("Fisrt Script Block");
  </script>
  <p>Paragraph 2</p>
  <script type="text/javascript">
    //Script block 2
    alert("Second Script Block");
  </script>
  <p>Paragraph 3</p>
</body>

</html>

我保存了这个html文件,然后在Firefox和Chrome中执行了它。

在Chrome中运行代码时,首先弹出警报框(两者),然后显示段落内容。然而,在Firefox中,首先,段落标签中的内容被加载,然后是第一个警报,接着是第二个段落,接着是第二个警报,然后在单击“确定”按钮后,将显示第3个段落内容。就我的知识而言,这种差异是由于Firefox和Chrome使用的解释器的不同而且我确信这一点。

我的问题是,这种行为叫做什么?我的意思是拥有自己的口译员的行为,它被称为什么?

任何帮助将不胜感激。谢谢!

2 个答案:

答案 0 :(得分:1)

同时工作的3个进程:

  1. 下载
  2. 读/解释/执行
  3. 建筑/绘图
  4. 要回答你的问题,它可以被称为“broswer行为”..?

答案 1 :(得分:0)

正如Justinas评论的那样,“不同的翻译”...... 我不知道这种行为的名称。

关键是,如果脚本是在渲染顺序中执行的,那么这不是问题 这是一个片段,显示即使p尚未显示,脚本也能正常运行:

<html>

<body bgcolor="WHITE">
  <p id="p1">Paragraph 1</p>
  <script type="text/javascript">
    //Script block 1
    alert("Fisrt Script Block");
    document.getElementById("p1").style.color = "red";
  </script>
  <p id="p2">Paragraph 2</p>
  <script type="text/javascript">
    //Script block 2
    alert("Second Script Block");
    document.getElementById("p2").style.color = "green";
  </script>
  <p id="p3">Paragraph 3</p>
</body>

</html>