[英]what is difference between two object in JavaScript
Can anyone help me to understand the difference in obj1
and obj2
created in two ways in JavaScript? 谁能帮助我了解以JavaScript两种方式创建的
obj1
和obj2
的区别? They look the same in the console. 它们在控制台中看起来相同。
var obj1 = { 'name': 'blue', 'shade': 'dark'};
var obj2 = JSON.parse('{"name":"blue","shade":"dark"}');
because 因为
(obj1 === obj2) is false as
(obj1 == obj2) is false
while in javascript console show as 而在javascript控制台中显示为
Object {name: "blue", shade: "dark"}
Object {name: "blue", shade: "dark"}
尽管对象的内容相同,但是您具有对两个单独对象的引用,这就是为什么==和===都失败(它们检查引用是否为内容)。
As ABucin said, javascript checks for references, if you still want to check if two jsons are equal you could try using 正如ABucin所说,javascript检查引用,如果您仍然想检查两个json是否相等,则可以尝试使用
JSON.stringify(obj1) === JSON.stringify(obj2)
or check for every key (a bit more complicated but more efficient in the case that the keys are in different orders). 或检查每个键(如果键的顺序不同,则有点复杂,但效率更高)。
Try reading this: 尝试阅读以下内容:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.