我希望在函数内部被相同的命名变量覆盖时访问全局变量'x'。
function outer() {
var x = 10;
function overRideX() {
var x = "Updated";
console.log(x);
};
overRideX();
}
outer();
Jsbin:Fiddle to Test
我不想将内部'x'变量重命名为其他内容。 这可能吗?
编辑:abeisgreat答案后编辑的问题。答案 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);
}();