JavaScript 对象和数据类型

标签 javascript

我很困惑为什么以下内容不评估为 true。 如何比较两个对象是否相同?

var x = new Object();
var y = {};
x == y // false

function Person(name) {
  this.name = name;
}

var p1 = new Person("Chris");
var p2 = new Person("Chris");
p1 == p2 // false

最佳答案

无需深入了解 JS 引擎的工作原理,您只需将其想象为现实世界中的对象即可理解它。如果 x 是球,y 是椅子,则它们并不相等,因为它们都是对象。如果您认识两个名为 Chris 的人,他们就不是同一个人,只是名字相同而已。

关于JavaScript 对象和数据类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26343070/

相关文章:

javascript - 引用最新的 rxjs 时出现 rxjs 错误

javascript - 获取表单字段的文本

javascript - React on key up 只执行一次setTimeout

javascript - 如何捕获 JSON 导出并发送到 URL

javascript,jQuery 同时运行具有两个不同输入的单个函数

javascript - React.js 不在 URL 中使用路由器传递参数

javascript - React Router 链接渲染 #/代替/

Javascript Jquery 向下滚动 1 页

javascript - Service Worker 能做什么和不能做什么有什么限制?

javascript - 在 PHP 中使用时间轴 Google Chart API - 日期/时间格式问题