Prototype1.5.1源代码解读分析-5
2007-08-16 23:38
375 查看
< DOCTYPE html PUBLIC -WCDTD XHTML StrictEN httpwwwworgTRxhtmlDTDxhtml-strictdtd> Abstract源代码 var Abstract = new Object();
代码解析及其使用方法 Abstract(抽象类)是个空类,没有任何成员。
Object.extend源代码 Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
Object.extend(Object, {
inspect: function(object) {
try {
if (object === undefined) return 'undefined';
if (object === null) return 'null';
return object.inspect ? object.inspect() : object.toString();
} catch (e) {
if (e instanceof RangeError) return '...';
throw e;
}
},
toJSON: function(object) {
var type = typeof object;
switch(type) {
case 'undefined':
case 'function':
case 'unknown': return;
case 'boolean': return object.toString();
}
if (object === null) return 'null';
if (object.toJSON) return object.toJSON();
if (object.ownerDocument === document) return;
var results = [];
for (var property in object) {
var value = Object.toJSON(object[property]);
if (value !== undefined)
results.push(property.toJSON() + ': ' + value);
}
return '{' + results.join(', ') + '}';
},
keys: function(object) {
var keys = [];
for (var property in object)
keys.push(property);
return keys;
},
values: function(object) {
var values = [];
for (var property in object)
values.push(object[property]);
return values;
},
clone: function(object) {
return Object.extend({}, object);
}
});
#javascript/ajax专栏
代码解析及其使用方法 Abstract(抽象类)是个空类,没有任何成员。
Object.extend源代码 Object.extend = function(destination, source) {
for (var property in source) {
destination[property] = source[property];
}
return destination;
}
Object.extend(Object, {
inspect: function(object) {
try {
if (object === undefined) return 'undefined';
if (object === null) return 'null';
return object.inspect ? object.inspect() : object.toString();
} catch (e) {
if (e instanceof RangeError) return '...';
throw e;
}
},
toJSON: function(object) {
var type = typeof object;
switch(type) {
case 'undefined':
case 'function':
case 'unknown': return;
case 'boolean': return object.toString();
}
if (object === null) return 'null';
if (object.toJSON) return object.toJSON();
if (object.ownerDocument === document) return;
var results = [];
for (var property in object) {
var value = Object.toJSON(object[property]);
if (value !== undefined)
results.push(property.toJSON() + ': ' + value);
}
return '{' + results.join(', ') + '}';
},
keys: function(object) {
var keys = [];
for (var property in object)
keys.push(property);
return keys;
},
values: function(object) {
var values = [];
for (var property in object)
values.push(object[property]);
return values;
},
clone: function(object) {
return Object.extend({}, object);
}
});
#javascript/ajax专栏
相关文章推荐
- 21.番外篇:Tornado的多进程管理分析---process.py代码解读
- 【JSHint解读一】JavaScript的静态代码分析工具
- 短视频 | 问答开源项目解读之整体代码流程和问题分析
- Harris角点检测原理分析与代码解读
- Prototype1.5.1源代码解读分析-1
- jQuery源码解读系列之代码结构分析
- MapReduce分析日志---代码流程解读
- Prototype1.5.1源代码解读分析-2
- Lucene原理与代码分析解读笔记
- Prototype1.5.1源代码解读分析-3
- Prototype1.5.1源代码解读分析
- Prototype1.5.1源代码解读分析-4
- Prototype1.5.1源代码解读分析-6
- 解读JavaScript代码 var ie = !-[1,]
- Spring Cloud云服务 - 企业云架构common-service代码结构分析
- nginx代码分析-基本结构-哈希表ngx_hash_t
- 安全编码实践三:C/C++静态代码分析工具Prefast
- 分析一个新建的android工程的代码
- android TIF HAL层代码分析
- [转载]DllMain中不当操作导致死锁问题的分析——DllMain中要谨慎写代码(完结篇)