js对象的比较
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
JavaScript 继承使用分析
深入学习javascript继承之前,先了解下面的几个概念:父类:被继承的类子类:由继承得来的类超类:也就是父类抽象类:一般不用来实例化的类,它的用途是用来
关于js类的定义
遇到的问题,首先是js对象的封装,js没有提供类的机制,唯一的内置类是function类,也就是说所有的函数都是function类的实例化对象。不过依靠这个唯一
javascript复制对象使用说明
oldObj是一个对象,而不是值例如varnewObj=oldObj;如果想oldObj改变的时候不影响到newObj;可以这样写一个函数functionclone(myObj){if(typeof(myObj)!='object')returnmyObj;if(