javascript - Javascript 对象存在,但是当我调用一个键时返回未定义
问题描述
我不是在问问题,因为我终于解决了它,但我会发布它,因为我花了超过 3 个小时试图弄清楚它。
情况
我正在开发一个 Chrome 扩展程序,并希望允许用户通过“options.html”页面更改 Chrome 设置。
该扩展将当前配置加载为 Object options.js
:
let myConfiguration = new Object()
myConfiguration = getCurrentConfig()
myConfiguration
如果我在 my中调用我的变量options.js
,我会得到一个空对象:
console.log(myConfiguration)
// Output: {}
如果我从 devtools 调用我的变量,我会得到对象:
console.log(myConfiguration)
// Output: {key1: value1, key2: value2,...}
这让我发疯了。请参阅下面的答案。
解决方案
解决方案
问题是当我从options.js
文件中调用变量时,它仍然没有被赋值。但是当我在 devtools 上检查控制台时,我的变量有一个赋值。
解决方案是调用从新的“js”文件中为变量分配其值的函数,并将该文件放在options.html
页面上的 de body 标记之前。
我希望这可以帮助某人花费 3 个小时来玩弄 javascript 代码。
推荐阅读
- java - 使用 /src/resources 作为新包的源目录
- android - 我们应该使用 Constraintlayout 作为 Recyclerview 项目布局吗?
- php - Big Sur 并安装 msodbcsql17
- sql - 如何遍历表名列表并查看列中的特定值是否存在?
- amazon-web-services - Terraform AWS IAM 用户在备用 terraform 应用命令上从 IAM 组中添加和删除
- swift - Swift - AVAudioEngine 无法默认为系统输出
- aspnetboilerplate - 如何将 abp 5.14 升级到 abp 6.0?
- vba - VBA 在继续之前检查页面上是否存在 HTMLDivElement
- python - 熊猫数据框样式格式行
- ssl - 当有 1 个密钥和 1 个 pem 时将 pem 密钥转换为 p12