yuAriellexi 2019-10-16 14:49 采纳率: 100%
浏览 272
已采纳

js object两两比较,为什么不对


if (typeof obj1 == "object" && typeof obj2 == "object" && obj1 != null && obj2 != null)
{
    deepEqual(obj1, obj2);
}


const deepEqual = function(obj1, obj2)
{
    return obj1 === obj2;
}


let obj = {here: {is: "an"}, object: 2};
console.log(deepEqual(obj, obj));
// → true
console.log(deepEqual(obj, {here: 1, object: 2}));
// → false
console.log(deepEqual(obj, {here: {is: "an"}, object: 2}));
// → true  这里我的代码输出结果是false,请问这是为什么,跟===比较有关么
  • 写回答

4条回答 默认 最新

  • 古德赫赫 2019-10-16 15:10
    关注

    引用和匿名对象的对比,本来就指向的不是同一个对象,尽管内容相同,就算用==也是false;
    一般用字符串或者数字可以用这种方式比较是否相同,对象不行

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 用visual studi code完成html页面
  • ¥15 聚类分析或者python进行数据分析
  • ¥15 逻辑谓词和消解原理的运用
  • ¥15 三菱伺服电机按启动按钮有使能但不动作
  • ¥15 js,页面2返回页面1时定位进入的设备
  • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
  • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?