4
var b=1;

function someFunc(b) {
     //here 
}

我希望能够引用在函数外部定义的变量 b。这怎么能在javascript中完成?

4

1 回答 1

8

您需要通过浏览器和node.jsglobal object中的 访问它。windowglobal

var b=1;

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

为什么 ?好吧,所谓的Activation Object(在 ES3 中)或Lexical Environment Record (ES5) 将与变量 name 重叠b。因此,任何时候 JS 引擎解析b它都会在第一次出现时停止,这是在它自己的 Scope 中。

于 2012-04-16T16:53:13.453 回答