js表达式与语句的区别


http://www.2ality.com/2012/09/expressions-vs-statements.html

http://www.jb51.net/article/31298.htm

表达式    语句

  表达式语句 如 {a:'a'}  function () {}

为了冲突  表达式上下文 不允许 { function 开头

eval(“{a:'a'}”) 解析时  为 语句上下文 可用"({a:'a'})" 变为表达式上下文

 

function () { return "abc" }() 

SyntaxError: function statement requires a name 你会得到一个语法错误(函数声明不可以是匿名的): 

function foo() { return "abc" }() 

 function foo() { return "abc" }() 还会得到一个语法错误(函数声明不能被理解执行): 

 

() 作用与表达式上下文解析 但 不允许以function开头

故可以用 添加一元运算符解决

+function () {return :'a'}()

-function () {return :'a'}()

!function () {return :'a'}()

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM