访问函数内被覆盖的全局变量

Access overridden global variable inside a function

本文关键字:全局变量 覆盖 函数 访问      更新时间:2023-09-26

当全局变量'x'在函数中被同名变量覆盖时,我想访问它

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

Jsbin: Fiddle to Test

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

编辑:在一个很棒的答案之后编辑问题

您可以使用window。

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

此代码记录"Updated"然后10.

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

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