js 执行空间是什么意思 尽量白话点 谢谢

JavaScript012

js 执行空间是什么意思 尽量白话点 谢谢,第1张

就像C#的命名空间一样,比如说

function a(){

var s = 'a'

alert('这里是一个执行空间'+s)

}

function b(){

var s='b'

alert('这里是另一个执行空间'+s)

}

a()

b()

alert(s)

//也就是说在这两个空间里面的变量不会互相影响,都有自己独立的运行空间。

怎么会不符合逻辑呢?首先由ns += arr[i]得到ns的值,这里我假设得到的值是b那么eval("if(typeof(" + ns + ") == 'undefined')" + ns + " = new Object()")实际就是eval("if(typeof(a) == 'undefined')a= new Object()")经过eval编译执行后实际就是if(typeof(a) == 'undefined'){a= new Object()}