构造函数与原型对象和实例对象的关系

简介: 构造函数与原型对象和实例对象的关系 //通过构造函数实例对象,并初始化 //var arr=new Array(10,20,30,40); //join是方法,实例对象调用的方法 //arr.join("|"); //console.

构造函数与原型对象和实例对象的关系

//通过构造函数实例对象,并初始化
//var arr=new Array(10,20,30,40);
//join是方法,实例对象调用的方法
//arr.join("|");
//console.dir(arr);
//join方法在实例对象__proto__原型
//console.log(arr.__proto__==Array.prototype);
//原型的作用之一:共享数据,节省内存空间
//构造函数
function Person(age,sex) {
  this.age=age;
  this.sex=sex;
}
//通过构造函数的原型添加一个方法
Person.prototype.eat=function () {
  console.log("明天中午吃完饭就要演讲,好痛苦");
};
var per=new Person(20,"男");
// per.__proto__.eat();
per.eat();
// per.eat();
//构造函数,原型对象,实例对象之间的关系

console.dir(Person);
//console.dir(per);

结论 构造函数中的prototype 即Person.prototype == 实例对象中的__proto__ 即per.__proto__
两者共用一块内存空间即 per.__proto__指向Person.protoype

Image and video hosting by TinyPic

而构造函数中的prototype的constructor构造器指向的自身

Image and video hosting by TinyPic

目录
相关文章
|
存储 Cloud Native 编译器
C++ 对象生成:构造函数
C++ 对象生成:构造函数
用原型链的方式写一个类和子类
用原型链的方式写一个类和子类
35 0
|
21天前
|
搜索推荐
如何在构造函数中为类的实例添加方法?
在实际开发中,要根据具体的场景和需求来选择合适的方式来为类的实例添加方法,以确保代码的可读性、可维护性和性能。
|
1月前
|
设计模式 JavaScript 前端开发
原型链和类之间的区别和联系是什么
【10月更文挑战第22天】原型链和类之间的区别和联系是什么
40 0
|
1月前
|
设计模式 JavaScript 前端开发
原型链和类之间的区别在哪里
【10月更文挑战第22天】原型链和类之间的区别在哪里
16 0
|
4月前
|
JavaScript 前端开发 Java
原型对象和类之间的区别是什么
【8月更文挑战第2天】原型对象和类之间的区别是什么
80 8
|
4月前
|
存储 JavaScript 前端开发
对象的属性方法和深浅拷贝
总结,理解对象的属性和方法对于编程是基础而重要的,而掌握深浅拷贝的差异和使用场合则是编程的高级技能,它能帮助你有效地管理数据的完整性和独立性。
22 0
21-对象特性-构造函数和析构函数
21-对象特性-构造函数和析构函数
|
JavaScript 前端开发
面试向:原型、原型链、构造函数、继承、实例对象
面试向:原型、原型链、构造函数、继承、实例对象
面试向:原型、原型链、构造函数、继承、实例对象
|
程序员
构造函数和实例对象和原型之间的关系
构造函数和实例对象和原型之间的关系
构造函数和实例对象和原型之间的关系