gpt4 book ai didi

javascript - 使用句点访问对象的属性但未定义

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:19:27 25 4
gpt4 key购买 nike

我在做codecademy的javascript教程,遇到如下问题:

var friends = {};friends.bill = {  firstName: "Bill",  lastName: "Gates",  number: "(206) 555-5555",  address: ['One Microsoft Way','Redmond','WA','98052']};friends.steve = {  firstName: "Steve",  lastName: "Jobs",  number: "(408) 555-5555",  address: ['1 Infinite Loop','Cupertino','CA','95014']};var list = function(obj){    for(var prop in obj){        console.log(prop);    }};var search = function(name) {  for(var prop in friends){         console.log(prop);        console.log(friends.prop);//friends[prop] will print out   }};list(friends);search("Steve");

console.log(friends.prop) 将打印出 undefined 但如果我将其更改为

friends[prop],会打印出bill和steve对象信息。

我看w3c教程说有两种访问方式是对的,我想不通

问题是什么?

提前致谢。

最佳答案

数组表示法 ([prop]) 提供了一种额外的间接级别,一种反射。

因此,friends.billfriends["bill"] 将是相同的。但是,如果您想执行类似 var prop = 'bill' 的操作,那么使用它的唯一方法是作为 friends[prop]

如果您尝试 friends.prop,您实际上是在要求它寻找名为“prop”的 friend 。

关于javascript - 使用句点访问对象的属性但未定义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15055522/

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