今天看到js的对象有两种:一种是普通的对象,例如 var obj = {},另外一种是函数对象,例如 var objFunc = function(){};
js的对象不存在继承的关系,但是可以借助prototype原型获取继承属性,例如:
<script>
var o = {}; // 我发现了一个东西。
o.eat = function(){return "I am eating."}
o.sleep = function(){return "ZZZzzz..."}
o.talk = function(){return "Hi!"}
o.think = function(){return "Hmmm..."}
var Human = new Function();
Human.prototype = o;
alert(Human.prototype.talk()); // human的属性没有talk,在扩展属性里有talk
var h = new Human();
alert(h.talk()) //human的所有属性加上prototype的属性一起被h继承了
var objFuncA = function(){
alert("A");
}
objFuncA.name = "wangli";
var objFuncB = new Function(); //定义一个函数对象
objFuncB.prototype = new objFuncA(); //alert(A);说明继承了objFuncA对象
alert(objFuncB.prototype.name);
</script>
相关推荐
本文实例讲述了JS实现面向对象继承的5种方式。分享给大家供大家参考,具体如下: js是门灵活的语言,实现一种功能往往有多种做法,ECMAScript没有明确的继承机制,而是通过模仿实现的,根据js语言的本身的特性,js实现...
本文讲述了Javascript简单实现面向对象编程继承实例代码。分享给大家供大家参考,具体如下: 面向对象的语言必须具备四个基本特征: 1.封装能力(即允许将基本数据类型的变量或函数放到一个类里,形成类的成员或方法) ...
JS类的继承的实现</title> [removed] //定义父类及公有、私有、静态属性及方法 function parent(){ var pname = "private";//私有属性 var pfun = function(){//私有方法 console.log("调用类的私有方法"); } ...
本文实例为大家介绍了javascript实现继承的6种方式,分享给大家供大家参考,具体内容如下 1、【原型链继承】实现的本质是重写原型对象,代之以一个新类型的实例。实际上不是SubType的原型的constructor属性被重写了...
来看看一个对象拥有自身和继承属性的例子,Object.keys()只返回自己的属性键: let simpleColors = { colorA: 'white', colorB: 'black' }; let natureColors = { colorC: 'green', colorD: 'ye
使用纯 JavaScript 实现对象继承的简单而小巧的实现。 安装 去做 NPM: $ npm install --save inheritance-js Bower: $ bower install --save inheritance-js 下载: (最新) 特征 添加到使用ObjectDefinition....
原型是理解继承概念的关键, 我们将会教你如何建立原型, 如何检测一个对象是否是另外一个对象的原型, 及其 JavaScript 的模型与Java 面向对象编程之间的区别。我们同样会向你展示如何检测对象所包含的各种属性的方法...
本文实例讲述了JavaScript使用prototype属性实现继承操作。分享给大家供大家参考,具体如下: JS并没有显式的继承语法,在JS中所有的对象都是Object的子类实现, 因而对象之间是平等关系. 尽管如此我们可以通过特殊的...
prototype属性本质上还是一个JavaScript对象。 并且每个函数都有一个默认的prototype属性。 如果这个函数被用在创建自定义对象的场景中,我们称这个函数为构造函数。 比如下面一个简单的场景: 代码如下: // 构造...
JavaScript中的几种继承方法示例 1.原型链继承 原理: 子类原型指向父类实例对象实现原型共享,即Son.prototype = new Father()。 这里先简单介绍下原型 js中每个对象都有一个__proto__属性,这个属性指向的...
本文实例讲述了JavaScript面向对象继承原理与实现方法。分享给大家供大家参考,具体如下: 1、构造函数、原型和实例的关系 构造函数有一个原型属性prototype指向一个原型对象。 原型对象包含一个指向构造函数的指针...
本文实例讲述了JavaScript使用原型和原型链实现对象继承的方法。分享给大家供大家参考,具体如下: 实际上JavaScript并不是一门面向对象的语言,不过JavaScript基于原型链的继承方式、函数式语法,使得编程相当灵活...
类:对一组属性及方法的集合。 二、函数 函数定义方法 函数声明后加括号 – 创建完成后立即调用执行 函数对象和其它内部对象的关系 – 对于Function, Object, Array, Date, RegExp, Math, Error等内部对象 可使用...
js函数的原型对象constructor默认指向函数本身,原型对象除了有原型属性外,为了实现继承,还有一个原型链指针__proto__,该指针指向上一层的原型对象,而上一层的原型对象的结构依然类似,这样利用__proto__一直...
使用in关键字该方法可以判断对象的自有属性和继承来的属性是否存在。 代码如下: var o={x:1}; “x” in o; //true,自有属性存在 “y” in o; //false “toString” in o; //true,是一个继承属性 2.使用对象的...
在之前的两篇博客中,我们详细探讨了JavaScript OOP中的各种知识点(JS OOP基础与JS 中This指向详解 、 成员属性、静态属性、原型属性与JS原型链)。今天我们来继续探讨剩余的内容吧。 我们都知道,面向对象的三大...
本文实例讲述了JavaScript实现多重继承的方法。分享给大家供大家参考,具体如下: 1. 定义一个空的父类构造函数,然后通过prototype的方式为该父类定义属性和方法 2. 定义一个空的子类的构造函数,然后将子类的原型...
一、什么是JavaScript中对象的prototype属性 JavaScript中对象的prototype属性,是用来返回对象类型原型的引用的。我们使用prototype属性提供对象的类的一组基本功能。并且对象的新实例会”继承”赋予该对象原型的...
在JS中,Object是所有类的基类,使用Object类来创建自定义对象时,可以无需定义构造函数(constructor,prototype,hasOwnProperty(property)) var per = new Object(); per.name = 'zhangsan'; per.age = ; alert...
原型链:实现继承的主要方法,利用原型让一个引用类型继承另一个引用类型的属性和方法。 回顾:构造函数,原型,实例三者的关系 每一个构造函数都有一个原型对象(Person.prototype);原型对象都包含指向构造函数的...