欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

js對象的比較

 更新時間:2011年02月26日 12:54:45   作者:  
項目中需要比較兩個對象是否相等,給Object對象開展了(別緊張,別說我把它污染了),一個實現(xiàn)而已,象java一樣可以只給自己想要的類重寫equals方法。
復(fù)制代碼 代碼如下:

Object.prototype.equals = function(obj){
if(this == obj)
return true;
if(typeof(obj)=="undefined"||obj==null||typeof(obj)!="object")
return false;
var length = 0; var length1=0;
for(var ele in this) {
length++;
}
for(var ele in obj) {
length1++;
}
if(length!=length1)
return false;
if(obj.constructor==this.constructor){
for(var ele in this){
if(typeof(this[ele])=="object") {
if(!this[ele].equals(obj[ele]))
return false;
}
else if(typeof(this[ele])=="function"){
if(!this[ele].toString().equals(obj[ele].toString()))
return false;
}
else if(this[ele]!=obj[ele])
return false;
}
return true;
}
return false;
};

示例如下:
復(fù)制代碼 代碼如下:

var p1 = {name:"jack",age:18};
var p2 = {name:"lucy",age:10};
var p3 = {name:"jack",age:18};
console.log(p1.equals(p2));//false
console.log(p1.equals(p3));//true
console.log(p1.equals({name:"jack",age:18}));//true

相關(guān)文章

  • 面向?qū)ο蟮膉avascript(筆記)

    面向?qū)ο蟮膉avascript(筆記)

    面向?qū)ο蟮膉avascript之學(xué)習(xí)筆記,需要學(xué)習(xí)的朋友可以參考下,腳本之家之前更新了不少這方便的文章。
    2009-10-10
  • JavaScript 設(shè)計模式 安全沙箱模式

    JavaScript 設(shè)計模式 安全沙箱模式

    沙箱模式常見于YUI3 core,它是一種采用同一構(gòu)造器(Constructor)生成彼此獨立且互不干擾(self-contained)的實例對象,而從避免污染全局對象的方法
    2010-09-09
  • JavaScript 常見對象類創(chuàng)建代碼與優(yōu)缺點分析

    JavaScript 常見對象類創(chuàng)建代碼與優(yōu)缺點分析

    這幾種javascript類定義方式中,最常用的是雜合prototype/constructor 和 動態(tài)prototype方式。
    2009-12-12
  • js另類寫法

    js另類寫法

    ju 應(yīng)該是一個定義了各種方法對象 function(b) 的 b 就是 b(a[d], d) 中的參數(shù) a[d] C 是統(tǒng)計方法數(shù)量的函數(shù)
    2008-03-03
  • JavaScript 三種創(chuàng)建對象的方法

    JavaScript 三種創(chuàng)建對象的方法

    JavaScript中對象的創(chuàng)建有以下幾種方式 使用內(nèi)置對象 使用JSON符號 自定義對象構(gòu)造。大家可以參考下。
    2009-10-10
  • js對象的比較

    js對象的比較

    項目中需要比較兩個對象是否相等,給Object對象開展了(別緊張,別說我把它污染了),一個實現(xiàn)而已,象java一樣可以只給自己想要的類重寫equals方法。
    2011-02-02
  • javascript 面向?qū)ο缶幊? function是方法(函數(shù))

    javascript 面向?qū)ο缶幊? function是方法(函數(shù))

    在進行編程時,必免不了要碰到復(fù)雜的功能。初學(xué)者最怕復(fù)雜的功能,因為不能夠很好的進行功能邊界劃分,只能一大串if、循環(huán)加case堆疊在一起,結(jié)果出來的程序自己看著暈,別人看著更暈。
    2009-09-09
  • js 函數(shù)調(diào)用模式小結(jié)

    js 函數(shù)調(diào)用模式小結(jié)

    在javascript中一共有四種調(diào)用模式:方法調(diào)用模式、函數(shù)調(diào)用模式、構(gòu)造器調(diào)用模式和apply調(diào)用模式。這些模式在如何初始化關(guān)鍵參數(shù)this上存在差異
    2011-12-12
  • javascript new一個對象的實質(zhì)

    javascript new一個對象的實質(zhì)

    javascript 中,new一個對象的實質(zhì)是什么?即,當(dāng)我們構(gòu)建一個類的實例的時候,真正做了些什么?
    2010-01-01
  • javascript中的對象創(chuàng)建 實例附注釋

    javascript中的對象創(chuàng)建 實例附注釋

    為了讓你的js代碼更加的專業(yè)與代碼的條理性,很多情況下都是定義成對象的方式來書寫代碼,想深入的朋友可以參考下。
    2011-02-02

最新評論