摘要: 一、什么是"非构造函数"的继承? 比如,现在有一个对象,叫做"中国人"。 还有一个对象,叫做"医生"。 请问怎样才能让"医生"去继承"中国人",也就是说,我怎样才能生成一个"中国医生"的对象? 这里要注意,这两个对象都是普通对象,不是构造函数,无法使用构造函数方法实现"继承"。 二、object() 阅读全文
posted @ 2018-08-17 16:30 自然有道 阅读(251) 评论(0) 推荐(0) 编辑
摘要: 今天要介绍的是,对象之间的"继承"的五种方法。 比如,现在有一个"动物"对象的构造函数。 还有一个"猫"对象的构造函数。 怎样才能使"猫"继承"动物"呢? 一、 构造函数绑定 第一种方法也是最简单的方法,使用call或apply方法,将父对象的构造函数绑定在子对象上,即在子对象构造函数中加一行: 二 阅读全文
posted @ 2018-08-17 16:18 自然有道 阅读(130) 评论(0) 推荐(0) 编辑
摘要: Javascript是一种基于对象(object-based)的语言,你遇到的所有东西几乎都是对象。但是,它又不是一种真正的面向对象编程(OOP)语言,因为它的语法中没有class(类)。 那么,如果我们要把"属性"(property)和"方法"(method),封装成一个对象,甚至要从原型对象生成 阅读全文
posted @ 2018-08-17 15:13 自然有道 阅读(122) 评论(0) 推荐(0) 编辑
摘要: 我一直很难理解Javascript语言的继承机制。 它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instance)的区分,全靠一种很奇特的"原型链"(prototype chain)模式,来实现继承。 一、从古代说起 要理解Javascript的设计思想,必须从它的诞生说起 阅读全文
posted @ 2018-08-17 14:42 自然有道 阅读(135) 评论(0) 推荐(0) 编辑
摘要: (一)原型链 ECMAScript中将原型链作为实现继承的主要方法。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。(不理解原型链的童鞋们可以翻阅一下我之前的博客,里面有详细的说明) 实现原型链的一种基本模式 上面的例子中,instance指向SubType的原型,SubType的 阅读全文
posted @ 2018-08-17 14:23 自然有道 阅读(110) 评论(0) 推荐(0) 编辑