JavaScript中:表达式和语句的区别[译](2)


> function () { return "abc" }()
SyntaxError: function statement requires a name


如果你添加上函数名,还会得到一个语法错误(函数声明不能被理解执行):

复制代码 代码如下:


> function foo() { return "abc" }()
SyntaxError: syntax error



另外一个能让表达式在表达式上下文上被解析的办法是使用一元运算符,比如 + 或者 !.但是,和使用括号不同的是,这些操作符会改变表达式的运行结果.如果你不关心结果的话,完全可以使用:

复制代码 代码如下:


> +function () { console.log("hello") }()
hello
NaNNaN


是+作用在函数执行后的返回值undefined上的结果.

译者注:我觉的没翻译明白,所以用拙劣的水平画了张图.

JavaScript中:表达式和语句的区别[译]


原文(英文): 

您可能感兴趣的文章:

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wddsjw.html