为什么这不会引发错误[JavaScript]?

时间:2016-07-01 21:45:13

标签: javascript

如果您在控制台中运行此代码:

(function(){
    test: "hello";
})();

甚至这个:

test: "hello";

没有任何反应,也没有错误。为什么?它是如此简单,"嗯...它的JavaScript ......处理它。"?

就上下文而言,我公司的一些实习生偶然写了类似的东西(意思是使用' =')。当面对它可能会引发错误时,他们说它没有。

现在我很好奇。

1 个答案:

答案 0 :(得分:12)

JavaScript中的任何语句(包括创建字符串文字但不对其执行任何操作的语句)都可以有标签(请参阅ECMAScript 2015MDN)。除非您有breakcontinue来自的嵌套循环,否则它没什么用处。

(function(){     // Begin function expression
    test:        // Label statement
       "hello";  // Create a string and do nothing with it
})();            // End function expression and invoke the created function