2011-06-29 42 views
2

是什麼區別: 不同的JavaScript塊類型

<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學校說實施例2

例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> 

實施例1。每條語句都由 seque中的瀏覽器執行他們是 寫的。
實例2. 塊的作用是使 語句的序列一起執行。

請解釋上述說明。瀏覽器對上述命令的行爲有何不同?

+1

我不知道的Javascript支持的未命名的塊? –

回答

3

無差異在所有,一個塊的目的是在IFS和維權中使用,如下所示:

例1 如果() //命令可以執行

例2 如果() { //許多命令來執行 }

在第二樣品,if語句 「看到」 的b鎖定命令作爲單個命令,在塊內,命令仍按順序執行。

0

IMO 例2將在發生異常時停止執行進一步的語句。

所有的語句都會運行,或者在異常之後不會執行其餘的語句。

但是在實例1中,所有的語句都會執行。

0

在這種情況下,你的兩段代碼將做什麼之間沒有區別。

塊可以與其他JS結構一起使用,如函數,if,循環等。例如,如果與if一起使用,則表示「如果滿足條件,則執行下一個塊中的所有代碼」。如果沒有塊,只能根據if語句的結果執行一行代碼。

0

真的沒有什麼區別。即使W3Schools說:

上面的例子不是很有用。 它只是演示了使用 塊。通常一個塊被用於 函數或 函數或條件( 應該執行 如果滿足條件)中的 組合語句。

所以,你會更頻繁地使用中的塊類似如下:

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