3
我最近看到表格的一些JS:为什么`function(){{`在JS中合法?
function f(x) {{ return x + 1; }}
令我惊讶的是,这在语法上是合法的,并能正常工作。起初我还以为是C风格的匿名范围,但它并没有引入新的范围:
function f(x) {{ var y = x + 1; } return y;} // no error
为什么JS接受这些多余的括号?他们如何解释/他们是什么意思?
这是对'var'声明的变量作用域的误解。 –
'{...}'是一个块。 JS没有_NOT_有块级的范围。所以基本上它什么都不做。 http://stackoverflow.com/questions/18130025/javascript-curly-braces-with-no-function-or-json –
无论谁用双花括号写它,都必须吸烟,因为它什么也不做,即使它是有效 – adeneo