2012-04-16 71 views

回答

7

您需要通过global object访问它,例如在浏览器中为window,例如在node.js中为global

var b=1; 

function someFunc(b) { 
    alert(window.b); // or console.log(global.b); 
} 

为什么?那么,名为的激活对象(在ES3中)或词法环境记录(ES5)将重叠变量名称b。所以任何时候JS引擎都可以解决b它会在第一次出现时停止,这是它自己的范围。

+0

像node.js这样的非DOM环境中的全局对象是什么? – rsman 2012-04-16 16:55:25

+0

@RajSekharan:更新了答案。 – jAndy 2012-04-16 16:56:18

+0

node.js中的'global'不是真正的全局对象! – Niko 2012-04-16 16:57:49