访问函数内的重写全局变量

时间:2013-04-05 05:43:45

标签: javascript function global-variables override

我希望在函数内部被相同的命名变量覆盖时访问全局变量'x'。

function outer() {
   var x = 10;
   function overRideX() {
      var x = "Updated";
      console.log(x);
   };

  overRideX();
}

outer();

Jsbin:Fiddle to Test

我不想将内部'x'变量重命名为其他内容。 这可能吗?

编辑:abeisgreat答案后编辑的问题。

2 个答案:

答案 0 :(得分:2)

您可以使用window.x引用全局范围的变量。

var x = 10;
function overRideX() {
  var x = "Updated";
  console.log(x);
  console.log(window.x);
};

overRideX();

此代码记录“已更新”,然后记录为10。

答案 1 :(得分:1)

您网页的全局范围为window。因此,可以通过window对象访问全局范围中定义的每个变量。

var x = 10;
function overRideX() {
    var x = "Updated";
    console.log(x + ' ' + window.x);
}();