构造函数、原型和实例的关系

---恢复内容开始---

每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针,通过原型链的方式实现继承

以下代码实例

function Parent(){

  this.hobby = ‘play‘;

};

Parent.prototype.showHobby = function(){

  return this.hobby;

};

function Son(){

  this.hobby = ‘eat‘;

};

//实现继承,继承hobby;

Son.prototype = new Parent();

son.Prototype.showSonhobby = function(){

  return this.Sonhobby;

};

var obj = new Son();

alert(obj.showHobby());

for(var i in obj){

  document.write(i + ‘---‘ + obj[i] + ‘<br/>‘);

};

---恢复内容结束---

时间: 2024-12-28 11:15:05

构造函数、原型和实例的关系的相关文章

JS中构造函数与普通函数的区别及JS构造函数、原型和实例的关系

JS中构造函数与普通函数的区别: https://www.cnblogs.com/cindy79/p/7245566.html JS构造函数.原型和实例的关系: https://blog.csdn.net/u012443286/article/details/78823955 JavaScript构造函数及原型对象: https://blog.csdn.net/a153375250/article/details/51083245 原文地址:https://www.cnblogs.com/jim

如何确定 原型与实例之间的关系

instanceof  可以用来确定实例与原型之间是否存在关系 只有当原型与实例有关系的时候 才能依赖于 instanceof 确定 function SpecialArray(){ //创建数组 var values = new Array(); //添加值 values.push.apply(values, arguments); //添加方法 values.toPipedString = function(){ return this.join("|"); }; //返回数组 r

JS 之原型,实例,构造函数之间的关系

JS是面向对象的语言,函数也是对象.下面大致介绍下实例,原型与构造函数之间的关系. 构造函数模式 function Person(name,age){ this.name = name; this.age = age; this.sayname = function(){ alert(this.name); } } 定义构造函数,函数名字首字母大写,并使用new操作符实例化构造函数.构造函数本身也是函数,只不过可以用来创建对象.构造函数的特点是: 1.没有显式的创建对象 2.将属性和方法赋给力t

232 constructor构造函数,构造函数、实例、原型对象的三角关系

1.6 constructor构造函数 对象原型( __proto__)和构造函数原型对象(prototype)里面都有一个属性 constructor 属性 ,constructor 我们称为构造函数,因为`它指回构造函数本身`. `constructor 主要用于记录该对象引用于哪个构造函数,它可以让原型对象重新指向原来的构造函数`. 一般情况下,对象的方法都在构造函数的原型对象中设置.如果有多个对象的方法,我们可以给原型对象采取对象形式赋值,但是这样就会覆盖构造函数原型对象原来的内容,这样

浅析JS原型对象&amp;实例对象&amp;构造函数(转)

浅析原型对象,实例对象,构造函数的关系 原文地址:JS面向对象-原型对象,实例对象,构造函数的关系(http://blog.csdn.net/u014205965/article/details/45798861) 因为最根上的object拥有一个prototype属性,而js中所有的对象又都继承自object,所以js中所有的对象都拥有一个prototype属性,而在js中函数也是对象,所以js中每个函数也都有一个prototype属性. 例如:function Person(){...} 和

MDN——javascript——入门——第三章对象——对象.构造函数.原型链.继承——知识点总结

对象Object 由属性property(变量).方法method(函数)组成 var objectName = { member1Name : member1Value, member2Name : member2Value, member3Name : member3Value } member(成员)的值是任意的, 一个如上所示的对象被称之为对象的字面量(literal)——手动的写出对象的内容来创建一个对象.不同于从类实例化一个对象,我们会在后面学习这种方式. 访问对象成员 1.点表示法

JavaScript构造函数+原型创建对象,原型链+借用构造函数模式继承父类练习

虽然经常说是做前端开发的,但常常使用的技术反而是JQuery比较多一点.在JavaScript的使用上相对而言少些.尤其是在创建对象使用原型链继承上面,在项目开发中很少用到.所以今天做个demo练习一下,以后忘记了也可以照搬一下. 说明一下: 1. Demo中使用的是构造函数+原型模式创建的对象.构造函数中存储对象实例使用的属性,原型模式增加实例使用的方法. 2. Demo中的继承分为两个方面.一个是属性继承,使用的是借用构造函数模式 call()方法.另一个是方法继承,这个就是使用原型方式继承

js自定义类,混合的构造函数/原型方式

“混合的构造函数/原型方式” 用构造函数来定义非函数属性,用原型方式定义对象的函数属性,结果所有函数都只创建一次,而每个对象都具有自由的对象属性实例. function ocar(color){  this.color = color;  this.arr = new Array("s"); } ocar.prototype.showColor = function(){  alert(this.color); } var car = new ocar("resd"

230 构造函数原型prototype

构造函数通过原型分配的函数是所有[实例]对象所共享的. JavaScript 规定,每一个构造函数都有一个prototype 属性,指向另一个对象.注意,这个prototype就是一个对象,这个对象的所有属性和方法,都会被构造函数所拥有. 我们可以把那些不变的方法,直接定义在 prototype 对象上,这样所有对象的实例就可以共享这些方法. function Star(uname, age) { this.uname = uname; this.age = age; } Star.protot