gpt4 book ai didi

javascript - JavaScript 中的对象属性值

转载 作者:行者123 更新时间:2023-11-28 11:23:35 24 4
gpt4 key购买 nike

如何在下面的代码中分配属性值:

var foo = {};
var bar = {};
var obj = {};

obj[foo] = "Nishan";
obj[bar] = "Manis";


console.log(obj[foo]);

为什么它给出输出“Manis”

var foo = {};
var bar = {};
var obj = {};

obj.foo = "Nishan";
obj.bar = "Manis";

console.log(obj.foo);

Output: "Nishan"

使用“.”声明对象属性有什么区别和 ”[]”例如:obj.far = "Nish"和 obj[far] = "Nish"

var foo = {};
var bar = {};
var obj = {};

obj.foo = "Nishan";
obj.bar = "Manis";

console.log(obj[foo]);

给予未定义

最佳答案

对象作为键是有效的,只是因为它转换为字符串,并且对象的字符串表示形式是 [object Object],所以您所做的等于

var obj = {};

obj[`[object Object]`] = "Nishan";
obj[`[object Object]`] = "Manis";

console.log( obj[`[object Object]`] ); // returns Manis

所以基本上你会覆盖键/值对,因为 foobar 的字符串表示形式是相同的,它们都转换为 [对象对象]

编辑:

在第二个和第三个示例中,您执行类似的操作

var foo = {};

obj.foo = "something";

但是当你使用点表示法时,你可以声明任何你想要的属性,并且对象上的属性 foo 与上面声明的变量 foo 无关,他们甚至没有远程关系,你不妨这样做

var foo = {};

obj.didgeridoo = "something";

相关性是一样的,没有什么。

关于javascript - JavaScript 中的对象属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24082178/

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