条件语句中缺少大括号不会产生错误

时间:2014-04-11 10:39:50

标签: javascript

我正在重新考虑一些代码并遇到以下问题:

  if (window.init) init();  // check that init() function exists before using it
}

注意缺少的左括号{,这意味着该陈述应如下所示:

if (window.init) {
  init();
}

我希望原版会出错,造成某种破坏,但没有,显然效果很好。该代码错误吗?如果不是为什么不呢?

我唯一能想到的是整体功能被额外的}<br/>关闭了 由于某些原因,if (window.init) init();被忽略了。

例如:

function test() {
  if (window.init) init(); //ignored
}

注意: init()函数不是内置的javascript函数。

1 个答案:

答案 0 :(得分:1)

单行语句不必有括号,但我肯定会推荐它们。例如:

if (window.init) { init(); }

它看起来有点丑陋,但可以避免遇到问题。

如果您选择使用它来检查数据,JSHint之类的内容会解决这些问题。