不同的JavaScript块类型

时间:2011-06-29 12:25:33

标签: javascript

有什么区别:

Ex 1.

<script type="text/javascript">   
document.write("<h1>This is a heading</h1>");   
document.write("<p>This is a paragraph.</p>");   
document.write("<p>This is another paragraph.</p>");   
</script>  

Ex 2.

<script type="text/javascript">   
{   
    document.write("<h1>This is a heading</h1>");   
    document.write("<p>This is a paragraph.</p>");   
    document.write("<p>This is another paragraph.</p>");   
}   
</script>

W3C学校说:

  

Ex 1.每个陈述都由。执行   浏览器按顺序排列   写的。
  例2.一个目的   块是制作序列的   语句一起执行。

请解释以上陈述。浏览器如何对上述命令采取不同的行动?

4 个答案:

答案 0 :(得分:3)

没有任何区别,块的目的是在ifs和fors中使用,如下所示:

Ex 1 if()    //执行命令

Ex 2 if() {    //许多要执行的命令 }

在第二个示例中,if语句“看到”块命令为单个命令,在块内,命令仍然按顺序执行。

答案 1 :(得分:0)

如果发生异常,IMO Ex 2 将停止执行进一步的陈述。

所有语句都将运行,或者在异常之后不会执行剩余语句。

但在Ex 1中,所有语句都将执行。

答案 2 :(得分:0)

在这种情况下,两段代码之间没有区别。

块与其他JS结构一起使用,例如函数,if,循环等。例如,当与if一起使用时,它们意味着“如果满足条件,则执行以下块中的所有代码”。如果没有块,您只能根据if语句的结果执行一行代码。

答案 3 :(得分:0)

确实没有区别。即使W3Schools说:

  

上面的例子不是很有用。   它只是演示了a的用法   块。通常使用一个块   组合声明在一起   功能或条件(其中a   应该执行一组语句   如果满足条件)。

所以你会经常使用像下面这样的块:

<script type="text/javascript">
if (someValue==true) {
    document.write("<h1>Executed block 1</h1>");
} else {
    document.write("<h1>Executed block 2</h1>");
}
</script>