gpt4 book ai didi

javascript - JavaScript 的对象内特性是如何工作的?

转载 作者:行者123 更新时间:2023-11-29 17:17:29 25 4
gpt4 key购买 nike

我正在学习 JavaScript,目前我无法理解下面的示例。使用 in 检查右侧的对象中是否存在某个项目。

此代码会将用户选项合并到默认选项中。

令我困惑的是 i 没有在任何地方定义,所以它怎么知道 i 是什么?
如果我在 for block 内打印出 i,它会列出我的对象的每个 option

我已阅读 MDN's article about the in operator但它没有解释这种对 undefined variable 的处理。

var i;
for(i in options) {
if(i in this.options) {
this.options[i] = options[i];
} else {
throw new Error("Notice doesn't support option: " + i);
}
}

最佳答案

有两种不同的“in”:

您代码中的第一个 in 不是 in 运算符。这是一个 For ... in 循环,循环遍历对象的键,将每个键分配给变量,在本例中为 i

您代码中的第二个 in 是您已经阅读文档的代码。返回 true 或 false 的运算符。

注意:除非您在该函数作用域的前面有 var i,否则您将通过省略 var 关键字来声明全局变量 i在你的循环中。您很可能想要:

for(var i in options){

关于javascript - JavaScript 的对象内特性是如何工作的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15996476/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com