快速提问。我在JS文件中遇到了以下内容:
if (0) {
// code
}
这个if语句的目的是什么?代码会执行哪些情况?它目前不运行if子句中的代码。
答案 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一些公告牌软件在服务器端生成0
或1
;见@ eds的帖子。
答案 3 :(得分:2)
它不会运行。可能有人试图注释掉代码并且中间有太多/* */
(或者原始作者可能不希望使用/* */
还有其他原因?)。无论原因如何,if(0){}
表示if(false){}
。大括号之间的代码永远不会运行。
答案 4 :(得分:1)
这可能是暂时的已禁用部分代码
答案 5 :(得分:1)
这可能只是一种切换启用/禁用代码的简单方法,但您可能会看到的是由服务器端语言呈现的JavaScript代码。因此,例如,如果您使用PHP编写,并且您希望运行客户端JavaScript,如果您的PHP变量$ doThis为非null,则可以编写
if (<? echo $doThis; ?>) {
// do stuff...
}
发生这种情况的情况并不多,但我知道Blogger使用的技术显示帖子下方的评论数量。