原生js 小知识点

#eval 接受一个字符串,并将其内容视为好像原先就写成了代码一样。

function foo(str){
    "use strict";
    eval(str);
    console.log(a);//3

}
foo("var a = 3;");

但是在严格模式下,eval会自己增加一个作用域。结果如下:

function foo(str){
    "use strict";
    eval(str);
    console.log(a);//Uncaught ReferenceError: a is not defined

}
foo("var a = 3;");

#XXXXXXXXXXXXXXXXXXX。

XXXXXXXXXXXXXXX
    XXXXXXXXXXXXXX
    XXXXXXXXXX
   XXXXXXXXX

XXXXXXXXX

猜你喜欢

转载自www.cnblogs.com/dongfangchun/p/8995486.html