回答
它看起來像一個發展過程的人造物。用這種代碼包裝代碼,可以快速,單字符的方式來有效地註釋掉一段代碼。切換比典型的多行註釋更快。
有人使用它來有效地評論出大量的代碼。
它們可能意味着在發佈給公衆之前完全刪除它,但忘記了。
它不會運行。這可能是有人試圖對代碼進行註釋,並且中間有太多的/* */
(或者可能有其他原因,爲什麼原作者不想使用/* */
?)。無論原因如何,if(0){}
表示if(false){}
。大括號之間的代碼永遠不會運行。
這是可能的代碼
臨時禁用部分這可能只是切換啓用/禁用代碼一個簡單的方法,但你可以看到的是,是由服務器端語言渲染JavaScript代碼。因此,舉例來說,如果你是在PHP寫的,你想客戶端的JavaScript運行,如果你的PHP變量$ doThis了非空,你可以寫
if (<? echo $doThis; ?>) {
// do stuff...
}
不是有很多情況下這會發生,但我知道Blogger使用技術顯示帖子下方的評論數量。
實際上,在Javascript中,有些代碼甚至在這樣的塊中運行。例如,在if(0)
塊被定義的變量將與值undefined
來定義:
if (0)
{
var f = 1;
}
f; //undefined
g; //ReferenceError
另一個很好的例子是在塊聲明函數的情況下。這是在ECMAScript中未定義的行爲,所以結果可跨瀏覽器不同而不同:
if (0)
{
function f() {}
}
typeof f; //"undefined" in Firefox, "function" in other browsers
IIRC一些布告欄軟件生成0
或1
在服務器端;請參閱@ eds的帖子。
嗯有趣...很好的知道 –
在Chrome(WebKit)中'typeof'確實返回'function'。 – pimvdb
我會解釋。首先是因爲javascript的提升特性:聲明將被移到最近範圍的頂部('if'不是範圍)。所以代碼真的是:var f; if(0){f = 1} f; G; – spacevillain
- 1. if(cin)的用途?
- 2. IF,ELSE,FOR宏的用途?
- 3. If/Else as {Code Block}?
- 4. do {} while(0)的用途是什麼?
- 5. WHERE 1 = 0在SQL中的用途
- 6. 「int mask =〜0;」的用途是什麼?
- 7. If-Unmodified-Since HTTP Header有什麼用途?
- 8. while while if loop code error
- 9. PasteSpecial(Values)in「copy if code」
- 10. C#,if file.length == 0 ignore
- 11. 「#if Foo - 0 == 0」和「#if defined(Foo)&& Foo == 0」之間的區別是什麼?
- 12. EF4 Code-First中OnModelCreating的用途是什麼?
- 13. MySQL的更新IF(ROW_COUNT()= 0)
- 14. #if 0 && defined(_LP64)如何爲真?
- 15. 爲什麼需要if(0)和if(1)
- 16. Haskell parsec match if(3)as if(3> 0)
- 17. issetugid的用途?
- 18. Activator中sbt-rc-probe-0-13和sbt-rc-ui-interface-0-13的用途是什麼?
- 19. socket.shutdownOutput()的用途
- 20. 這個括號的用途是什麼:Python中的[0]
- 21. OptionArg的用途
- 22. if語句不<code>FirebaseDatabase</code>返回從火力
- 23. 「#define for if(false){} else for」的可能用途是什麼?
- 24. 如何使用「IF 0然後設置」
- 25. 使用error_reporting(0);在if語句中?
- 26. php if-statement:0> 2012?
- 27. php if語句null和0?
- 28. AurioTouch用途AudioBufferList
- 29. 聲明「int t [0];」的用途是什麼服務?
- 30. T-SQL select語句中[field] + 0的用途是什麼?
快速註釋或禁用調試代碼的方法? –
只是爲了防止有人執行'#define 0 1'? –
@Marc B:你知道這在JavaScript中是不可能的嗎? :) – pimvdb