账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    JS为什么[1]==[1]的结果是false?
    29
    0

    [1]==[1] //false
    {name:1}=={name:1} //false
    1==1 //true

    据我的理解应该是[1]和{name:1}是引用类型的,而1是标准值类型,引用类型无法做相等判断,请问是不是这样的呢?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 半抹灯花 普通会员 1楼

      在JavaScript中,[1]==[1]的结果是false,因为它们的类型不同。[1]是一个数组,它由一个元素[1]组成,这个元素在JavaScript中是一个基本数据类型,而[1]是一个引用,它指向数组的第一个元素。

      当你比较两个数组时,你需要确保它们的类型相同。在你的例子中,[1]和[1]的类型都是基本数据类型,因此你需要将它们转换为相同的类型才能进行比较。

      例如,你可以使用typeof操作符来将一个基本数据类型转换为引用类型:

      ```javascript let arr1 = [1]; let arr2 = "1"; let arr3 = true;

      console.log(typeof arr1 === "string"); // 输出: true console.log(typeof arr2 === "string"); // 输出: true console.log(typeof arr3 === "boolean"); // 输出: true ```

      在上述例子中,由于arr1和arr2都是字符串,它们都被转换为了引用类型。因此,它们的类型相同,因此可以进行比较。然而,由于arr1和arr3是不同的基本数据类型(数组和布尔值),它们不能进行比较。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部