javascript Object.extend的用法 Object.extend = function(destination, source) { for (var property in source) { destination[property] = source[property]; } return destination; } Prototype 对Object类进行的扩展主要通过一个静态函数Object.extend(destination, source)实现了JavaScript中的继承。 从语义的角度, Object.extend(destination, source)方法有些不和逻辑, 因为它事实上仅仅实现了从源对象到目标对象的全息拷贝。不过你也可以这样认为:由于目标对象拥有了所有源对象所拥有的特性, 所以看上去就像目标对象继承了源对象(并加以扩展)一样。另外, Prototype对Object扩展了几个比较有用的静态方法, 所有其他的类可以通过调用这些静态方法获取支持。 JScript code 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'; // 处理undefined情况 if (object == null) return 'null'; // 处理null情况 // 如果对象定义了inspect方法, 则调用该方法返回, 否则返回对象的toString()值 return object.inspect ? object.inspect() : object.toString(); } catch (e) { if (e instanceof RangeError) return '...'; // 处理异常情况 throw e; } }, 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继承机制原理 可以参考下
JavaScript继承机制研究.pdf
JavaScript继承机制探讨及其应用.pdf
学完了Javascript类和对象的创建之后,现在总结一下Javascript继承机制的实现。Javascript并不像Java那样对继承机制有严格明确的定义,它的实现方式正如它的变量的使用方式那样也是十分宽松的,你可以设计自己的方法...
本文实例讲述了javascript继承机制。分享给大家供大家参考。具体分析如下: 初学javascript一般很难理解Javascript语言的继承机制它没有”子类”和”父类”的概念,也没有”类”(class)和”实例”(instance)的...
JavaScript继承机制的实现,后期会有一些补充。
浅析javascript原型继承机制,浅析javascript原型继承机制
说明继承机制最简单的方法是,利用一个经典的例子——几何形状。
要用ECMAScript实现继承机制,首先从基类入手。所有开发者定义的类都可作为基类。出于安全原因,本地类和宿主类不能作为基类,这样可以防止公用访问编译过的浏览器级的代码,因为这些代码可以被用于恶意攻击。
主要介绍了阿里巴巴技术文章,分享的是一篇关于Javascript实现继承机制的文章,感兴趣的小伙伴们可以参考一下
Javascript语言对继承实现的并不好,需要工程师自己去实现一套完整的继承机制。下面我们由浅入深的系统掌握使用javascript继承的技巧,对javascript继承相关知识感兴趣的朋友一起看看吧
我一直很难理解Javascript语言的继承机制。 它没有”子类”和”父类”的概念,也没有”类”(class)和”实例”(instance)的区分,全靠一种很奇特的”原型链”(prototype chain)模式,来实现继承。 我花了很...
javascript原型继承机制参考.pdf
javascript原型继承机制借鉴.pdf
javascript原型继承机制归类.pdf