以下需要在功能範圍內,因爲不會出現奇怪的行爲是交互式控制檯模式。JavaScript語法瘋狂:指向eval函數的指針是不是eval函數?
下面的函數返回5預期
(function() { var x = 5; return eval("x"); })()
一個簡單透明的(ISH)的變化:
(function() { var x = 5; var j = eval; return j("x"); })()
產生錯誤:
ReferenceError: x is not defined
這是某種奇怪的安全測量?
只是一個網站照會
eval
間接調用在全球範圍內,其中x
是不可見的評估var j = eval;':http://ejohn.org/blog/ecmascript-5-strict-mode-json-and-more/ – jantimon 2013-04-04 12:21:34