/// <summary>javascript扩展</summary>
Object.prototype.Clone = function () {
/// <summary>深度克隆</summary>
var objClone;
if (this.constructor == Object) {
objClone = new this.constructor();
} else {
objClone = new this.constructor(this.valueOf());
}
for (var key in this) {
if (objClone[key] != this[key]) {
if (typeof (this[key]) == 'object') {
objClone[key] = this[key].Clone();
} else {
objClone[key] = this[key];
}
}
} objClone.toString = this.toString;
objClone.valueOf = this.valueOf;
return objClone;
}
//扩展Arrary对象函数
Array.prototype.find = function (func) {
/// <summary>查找</summary>
/// <param name="func" type="Function">返回布尔类型的函数</param>
var temp = []; for (var i = 0; i < this.length; i++) {
if (func(this[i])) {
temp[temp.length] = this[i];
}
}
return temp;
}
Array.prototype.Update = function (key, obj) {
/// <summary>修改Array中的对象</summary>
/// <param name="key" type="String">键</param>
/// <param name="obj" type="Object">Update内容</param>
/// <returns type="Array" />
for (var i = 0; i < this.length; i++) {
if (this[i][key] == obj[key]) {
for (var attr in obj) {
if (typeof (obj[attr]) != "function") {
this[i][attr] = obj[attr];
}
}
}
}
return this;
}
Array.prototype.Add = function (obj) {
/// <summary>将指定的obj添加在在Array的末端</summary>
/// <param name="obj" type="Object">指定的对象</param>
this[this.length] = obj.Clone();
}