javascript - 有没有办法访问阴影变量?
问题描述
有没有办法在 x() 的范围内访问阴影变量 a 的值
function x () {
a = 1;
function foo() {
a = 2;
console.log(a);
}
foo();
};
x();
console.log(window.a);
解决方案
阅读这个你不知道 JS的作用域和闭包部分,它解释得很好
尝试这个:
function x () {
a = 1;
function foo() {
/* when you write a = 2, you are assining 2 to the global a */
var a = 2;
console.log("global a", window.a);
console.log("local a", a);
}
foo();
};
x();
console.log(window.a);
推荐阅读
- go - 来自 Opencensus Libraries for Golang 的供应问题
- json - 如何从 JsonNode 获取键值映射?
- android - 如何在android中使用存储库创建会话?
- maven - Maven:如果指定目录中已经存在存储库,是否有任何方法可以拉取和签出到指定的 git 存储库分支?
- javascript - 页面不断重新加载并且更改的图像不会保留
- ios - 金属 IOS 中的网格
- gzip - 使用 zlib 时如何更改 deflate 流输出格式(raw、zlib、gzip)?
- android - 从 Android 项目到 ViewModel 的数据绑定
- excel - 文件夹上的无效限定符错误 - Name.Name
- openapi - 你如何使用 reDoc 处理多个文件