javascript 对象,键值在for in循环中显示未定义?

5m1hhzi4  于 2023-01-04  发布在  Java
关注(0)|答案(1)|浏览(223)

如你所见,obj. key在for in循环外可以正常工作,但为什么在for in循环中不能呢?
和**obj [key]**在for in循环中工作正常,那么一个工作正常而另一个不正常的原因是什么?

    • 代码**
let obj = {
  name: "lucky",
  hobbies: "coding"
}
console.log(obj.name)
for (let key in obj) {
  console.log(obj.key)
}
    • 输出**
lucky
undefined
undefined
s4n0splo

s4n0splo1#

如果你使用点操作符来访问对象,那么你必须直接给予键,你不能使用变量名。例如=〉obj.name,但是你不能使用obj.key,因为它把key当作一个键名。你可以使用[]操作符来访问for循环中的键。因此你的代码将是=〉

let obj = {
  name: "lucky",
  hobbies: "coding"
}
for (let key in obj) {
  console.log(obj[key])
}

相关问题