=、==、===的各自含义

= (赋值)
一个 ‘=’ 表示 :指针的关联指向 。
比如:var a = 1;
【=、==、===的各自含义】其中,=是指让变量a指向1
注意:基本数据类型是直接把值放在栈中,引用数据类型是把值放在堆中,然后把值所在的堆地址放在栈中
==(比较)
双等号==比较的规则:
1、对象和字符串的比较,对象都会转换为字符串 。
2、null只和、null本身相等,和其他值都不相等,即为false 。
3、NaN和谁(包括它自己)都不相等(false) 。
4、剩下的情况都是两边转换为数字进行比较的 。
注:这里的对象包括:普通对象{}、数组[]、正则等
解释一下上面最后一个示例的结果:
这个示例遵循第4种情况,两边需要转化为数字进行比较 。
左边[]转化为数字之前,要先通过()转换为字符串,结果为"",再通过()转换为数字,结果为0 。
右边false通过转换为数字是为0,
因此两者比较的结果为true 。
===(比较)
三等比较===要求数据的值和数据类型都要完全一样才返回true 。