赋值:
1. 基本数据类型
Undefined, Null, Boolean, Number和String
2. 引用数据类型
保存在内存中的对象,通过保存在变量中的地址引用对其操作
基本类型,赋值copy实际的值,
引用类型,copy纸箱Object的地址值
比较 ==
基本类型: 比较的是实际的值,
引用: 比较的是地址值
var x = ["apple"];
var y = ["apple"];
console.log(x == y); //false
==
比较,它会自动转换数据类型再比较,很多时候,会得到非常诡异的结果;
===
比较,它不会自动转换数据类型,如果数据类型不一致,返回false, 如果一致,再比较。
由于JavaScript这个设计缺陷,不要使用==
比较,始终坚持使用===
比较。
NaN === NaN; //false