Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么使用JSON.parse从字符串获取的对象不等于使用JSON.stringify转换的原始对象?_Javascript_Json_String_Object - Fatal编程技术网

Javascript 为什么使用JSON.parse从字符串获取的对象不等于使用JSON.stringify转换的原始对象?

Javascript 为什么使用JSON.parse从字符串获取的对象不等于使用JSON.stringify转换的原始对象?,javascript,json,string,object,Javascript,Json,String,Object,有人能解释一下为什么下面的代码会在控制台上记录为false吗 const object = { title: 'object', data: 2 }; localStorage.setItem('object', JSON.stringify(object)); console.log(object === JSON.parse(localStorage.getItem('object'))); 这是因为通过使用,然后将对象类型转换为字符串,这是一个新的对象类型,这意味着它是一个新的对象,在内

有人能解释一下为什么下面的代码会在控制台上记录为false吗

const object = { title: 'object', data: 2 };
localStorage.setItem('object', JSON.stringify(object));
console.log(object === JSON.parse(localStorage.getItem('object')));

这是因为通过使用,然后将对象
类型
转换为
字符串
,这是一个新的
对象
类型,这意味着它是一个新的对象,在内存中有自己的独立引用,通过比较
对象
可以比较它们在内存中的引用,这就是它们不相等的原因。

内存中的两个对象如果位于内存中的不同空间,则它们不相等。这可能会有帮助: