如果您在控制台中运行此代码:
(function(){
test: "hello";
})();
甚至这个:
test: "hello";
没有任何反应,也没有错误。为什么?它是如此简单,"嗯...它的JavaScript ......处理它。"?
就上下文而言,我公司的一些实习生偶然写了类似的东西(意思是使用' =')。当面对它可能会引发错误时,他们说它没有。
现在我很好奇。
答案 0 :(得分:12)
JavaScript中的任何语句(包括创建字符串文字但不对其执行任何操作的语句)都可以有标签(请参阅ECMAScript 2015或MDN)。除非您有break
或continue
来自的嵌套循环,否则它没什么用处。
(function(){ // Begin function expression
test: // Label statement
"hello"; // Create a string and do nothing with it
})(); // End function expression and invoke the created function