手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript 对象比较实现代码
javascript 对象比较实现代码
摘要:javascript对象比较比较符:==,!=,===,!==,>=,,=,,pb)==false;(pa=pb)==true;(pa

javascript对象比较

比较符:==,!=,===,!==,>=,<=,>,<

==总是试图比较他们的直,如果类型不一样,总是试图作转化。

===比较同一性,不作转化就比较

== 如果是基本类型(string, number, boolean),比较他们的值,

var a = "123";

var b = 123;

则(a==b) = true;

(a===b) = false;

如果是object, array, function类型,比较他们的reference.只有当他们的reference相等才为true.

function Point(x,y){

this.x = x;

this.y = y;

};

Point.prototype.toString = function(){

alert("in toString");

return "x=" + this.x + " y=" + this.y;

};

Point.prototype.valueOf = function(){

alert("in valueOf");

return this.x+this.y;

};

var pa = new Point(1,1);

var pb = new Point(1,1);

var pc = pa;

则:pa!=pb;

pa!==pb;

pa==pc;

pa===pc;

var arr1 = [1,2,3];

var arr2 = [1,2,3];

arr1!=arr2, arr1!==arr2

不得不说一下0, false, null, undefined

var t1 = 0;

var t2 = false;

var t3 = null;

var t4;

则:t1==t2;t1!==t2;

t1!=t3; t1!==t3;

t1!=t4; t1!==t4;

t2!=t3; t2!==t3;

t2!=t4; t2!==t4;

t3==t4; t3!==t4;

如果一个object和一个基本类型比较,则先调用对象的valueOf,再调用对象的toString与基本类型进行比较

如果是与boolean比较,先把true转为1,false转为0再比较。

var pa = new Point(1,1);

alert(pa==2);会输出"in valueOf",再输出"true";

如果屏蔽掉Point.prototype.valueOf则输出"in toString",再输出"false";

var pa = new Point(1,0);

则pa==true;

关系操作符>=,<=,>,<

如果两边都是数字,或者可以转化为数字,则比较数字。

如果两边都是string,或者可以转化为string,则比较string。

如果一边可转为string,一边可转为number,则再试图把string转为number再比较,如果string不能转为number, 则为NaN,返回false.

如果有object参与比较,则总是试图转object为number或string再比较。

下面有一个有趣的例子:

function Point(x,y){

this.x = x;

this.y = y;

};

Point.prototype.toString = function(){

alert("in toString");

return "x=" + this.x + " y=" + this.y;

};

Point.prototype.valueOf = function(){

alert("in valueOf");

return this.x+this.y;

};

var pa = new Point(1,1);

var pb = new Point(1,1);

则(pa==pb)==false;

(pa>pb)==false;

(pa<pb)==false;

但是:

(pa>=pb) == true;

(pa<=pb) == true;

【javascript 对象比较实现代码】相关文章:

javascript动态设置样式style实例分析

javascript瀑布流式图片懒加载实例

学习javascript文件加载优化

简述JavaScript中正则表达式的使用方法

JavaScript实现仿网易通行证表单验证

JavaScript Date对象详解

原生javascript实现解析XML文档与字符串

javascript中DOM复选框选择用法实例

JavaScript实现Flash炫光波动特效

javascript实现表格增删改操作实例详解

精品推荐
分类导航