var a = 'global scope';
function b (){
var a = 'local scope';
eval('console.log(a,1)'); //local scope
(new Function('','console.log(a,2)'))(); //global scope
}
b();
这段代码问什么会报错? :ReferenceError: a is not defined
全局变量a不用var申明就不会报错:
a = 'global scope';
function b (){
var a = 'local scope';
eval('console.log(a,1)'); //local scope
(new Function('','console.log(a,2)'))(); //global scope
}
b();
依次打印:
local scope 1
global scope 2
尚方宝剑之说
相关分类