按照ECMA-262 Specification,下面的語句返回1
:JavaScript eval(「{}」)返回行爲?
eval("1;;;;;")
eval("1;{}")
eval("1;var a;")
確保:
一個語句列表的值是在語句列表的最後一個值產生報表的價值。
你能解釋這些不同的回報嗎?
eval("{}") // undefined
eval("var a={}; a;") // {}
eval("var a={};") // undefined
是什麼1;
和{};
之間的區別?
這是一個重複,FWIW。 (這只是笨拙很難找到這樣的重複上SO: - /) – 2012-05-28 23:18:04
http://stackoverflow.com/questions/9943278/javascript-eval-expression(這是同樣的想法,但結果在不同的觀測語義由於無效的語法) – 2012-05-28 23:19:21