js下==与===的疑问?以下代码为什么是false

以下js运行结果都为false

var a = [1,2,3];
var b = [1,2,3];

console.log(a==b);
console.log(a===b);

==是值判断,a、b两个变量都一样啊,为什么会是false。

只是内容相同,但地址值不一样啊,所以false

对于八种基本类型变量 boolean int char....
==比较的是他们储存的值。
对于非基本类型变量
==比较的是他们的存储地址。
===比较值+存储位置。

==是值比较,===是连类型一起比较,是对于基础类型(布尔,字符串,数字,null,Undefined )

 alert(0==false)//true
alert(0===false)//false

javascript判断中为假false的值

其他是object类型,地址比较,a,b是数组,是对象,地址不一样当然不一样了

我来告诉你把 楼上几位都是java学多了 靠感觉发言

如果都是对象,则比较他们是不是同一个对象。如果指向同一个对象返回true。

和==唯一的区别是比较前不转换类型
我觉得你可以看看我的博客
http://blog.csdn.net/miaoch/article/details/62215131#相等和不相等

                        var a = [1,2,3];
            var b = "1,2,3";

            console.log(a==b);//true
            console.log(a===b);//false;