js對象的比較_js面向對象
來源:懂視網
責編:小采
時間:2020-11-27 20:58:16
js對象的比較_js面向對象
js對象的比較_js面向對象: 代碼如下: Object.prototype.equals = function(obj){ if(this == obj) return true; if(typeof(obj)==undefinedobj==nulltypeof(obj)!=object) return false; var length = 0; var leng
導讀js對象的比較_js面向對象: 代碼如下: Object.prototype.equals = function(obj){ if(this == obj) return true; if(typeof(obj)==undefinedobj==nulltypeof(obj)!=object) return false; var length = 0; var leng

代碼如下:
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;
};
示例如下:
代碼如下:
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
聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com
js對象的比較_js面向對象
js對象的比較_js面向對象: 代碼如下: Object.prototype.equals = function(obj){ if(this == obj) return true; if(typeof(obj)==undefinedobj==nulltypeof(obj)!=object) return false; var length = 0; var leng