【发布时间】:2017-08-14 07:41:35
【问题描述】:
var a=new Number(6);
var b=new Object(6);
a===b; //false
我只是不明白为什么 a===b 返回 false。它具有相同的类型并且来自相同的实例。
【问题讨论】:
-
阅读有关
===和==的文档
标签: javascript type-conversion
var a=new Number(6);
var b=new Object(6);
a===b; //false
我只是不明白为什么 a===b 返回 false。它具有相同的类型并且来自相同的实例。
【问题讨论】:
=== 和== 的文档
标签: javascript type-conversion
这些是您无法按值比较的对象。对象通过引用进行比较。
var a=new Number(6);
var b=new Object(6);
var c=new Number(6);
var d = a;
a === b; //false
a == c; // false
b == c;//false
a == d;//true
这些都是可以按值比较的原语。字符串和数字等基元按其值进行比较。
var a= Number(6);
var b= Number(6);
a == b //true
a === b //true
【讨论】:
在JS什么的,
== 字符控制值。例如;
var a = "1";
var b = 1;
a == b: return true
=== 字符控制值和类型。例如;
a === b: return false
【讨论】: