中文字幕日韩一区二区_国产一区二区av_国产毛片av_久久久久国产一区_色婷婷电影_国产一区二区精品

javascript 對象比較實現代碼

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 對象比較實現代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 91在线区| 视频一区二区三区中文字幕 | 在线播放91 | 在线一区二区三区 | 欧美精品99 | 成人精品久久日伦片大全免费 | 日本三级电影在线观看视频 | 超碰3| 天天色天天射天天干 | 亚洲精彩视频在线观看 | 欧美另类视频 | 日韩av免费看 | 超碰人人做| 国产在线观看一区 | 欧美一级久久 | 国产高清一区二区 | 99色视频 | 日本成人一区二区 | 国产第一页在线观看 | 夜夜骚视频 | 久久精品亚洲精品国产欧美 | av资源中文在线天堂 | 99在线免费观看视频 | 黄色在线观看国产 | 久久国产精品一区二区三区 | 自拍偷拍第一页 | 国产精品久久久久一区二区三区 | 欧洲视频一区 | 蜜桃免费av | www.日本精品 | 久草热8精品视频在线观看 午夜伦4480yy私人影院 | 欧美一区二区三区精品免费 | 中文在线a在线 | 久久国产精品免费视频 | 精品成人69xx.xyz| 欧美 日韩精品 | 四虎影音| 久久网国产| 国产成人精品综合 | 精品二区| www.精品一区 |