关于eval()的一个奇怪现象

eval("var a = 1;");

alert(a);    //1

这样是可以的,但是要是在严格模式下,则不行。

"use strict";

eval("var b = 2;");

alert(b);    //报错

但是实验了内容部是函数,或者json,在严格模式下也行,就变量是不行的,这是为啥?即便是去掉var也是不行,请大神分析下原因。

达令说
浏览 535回答 1
1回答

神不在的星期二

在书上只讲了 在严格模式下 如果在 eval 函数内声明变量,则不能在此函数外部使用该变量。 但是没具体讲为什么! 一般都很少使用严格模式 !
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript