if(0){// code}的目的是什么?

时间:2011-07-20 19:10:04

标签: javascript

快速提问。我在JS文件中遇到了以下内容:

if (0) {
    // code
}

这个if语句的目的是什么?代码会执行哪些情况?它目前不运行if子句中的代码。

6 个答案:

答案 0 :(得分:9)

它看起来像是开发过程的工件。像这样包装代码为您提供了一种快速,单字符的方式来有效地注释掉一段代码。切换比典型的多行注释更快。

答案 1 :(得分:6)

有人用它来有效地注释掉大量代码。

它们可能意味着在向公众发布之前完全删除它,但是忘记了。

答案 2 :(得分:3)

实际上,在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一些公告牌软件在服务器端生成01;见@ eds的帖子。

答案 3 :(得分:2)

它不会运行。可能有人试图注释掉代码并且中间有太多/* */(或者原始作者可能不希望使用/* */还有其他原因?)。无论原因如何,if(0){}表示if(false){}。大括号之间的代码永远不会运行。

答案 4 :(得分:1)

这可能是暂时的已禁用部分代码

答案 5 :(得分:1)

这可能只是一种切换启用/禁用代码的简单方法,但您可能会看到的是由服务器端语言呈现的JavaScript代码。因此,例如,如果您使用PHP编写,并且您希望运行客户端JavaScript,如果您的PHP变量$ doThis为非null,则可以编写

 if (<? echo $doThis; ?>) {
  // do stuff...
 }

发生这种情况的情况并不多,但我知道Blogger使用的技术显示帖子下方的评论数量。