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