前端进阶------实例对象,构造函数,以及原型之间的关系
来源:互联网 发布:vss软件保护 编辑:程序博客网 时间:2024/05/29 07:43
一:直接上代码:采用构造函数和原型模式(组合模式)来举例子讲解。
function Person_00(name,age){ // this.name=name; this.age=age;}Person_00.prototype={ constructor:Person, run:function(){ alert(this,name); }}var person_1=new Person_00("张三",20); //new是一个动词(相当于啪啪啪),Person_00就是构造函数(相当于你妈),person_1是实例对象(相当于你)
二:关系
(1)导入:每个对象都有隐式原型(_proto_)。显示原型(prototype)是函数特有的,也就是说函数既有隐式属性,同时又有显示属性。
(2)在本代码中:实例对象是person_1 ; 构造函数是Person_oo ; 原型对象是Person_oo .peototype 。
1 :实例对象和构造函数之间的关系:
构造函数就是你妈 (理解为蓝图也可以);
new就是生产过程,啪啪啪;
实例对象就是你,儿子或女儿;
所以实例对象和构造函数就是一种“生产关系”
2 :实例对象和原型对象的关系:
每个实例对象有一个隐式原型(_proto_);
构造函数的原型对象是(Person_oo .prototype);‘
实例对象的隐式原型(_proto_)指向原型对象的显式原型(Person_oo .prototype),是是一种“委托“关系。怎么理解委托请点击链接查看。
3:构造函数和原型对象的关系:
首先,提提函数的三大作用:
[1].封装可复用逻辑代码段
[2].作为可以new的构造函数
[3].本身是对象
因为构造函数本身也是对象,那么函数就有两个原型,Person.prototype此原型是给Person的实例用的。
Person._proto_是给自己用的。
额外补充:由于Person_oo是对象,也是实例,它也有原型,Person_oo的原型是Function .prototype。所以console.log(Person.00__proto_ == Function.prototype); //ture
三:总结
老姚谈:JavaScript中prototype的本质:https://zhuanlan.zhihu.com/p/23483423?refer=dreawer
- 前端进阶------实例对象,构造函数,以及原型之间的关系
- 关于js中,原型对象,原型链,构造函数,实例之间关系的理解与区别
- 【JavaScript】JavaScript原型链之原型对象、实例和构造函数三者之间的关系
- 类函数, 原型对象 与 构造方法之间的关系
- 一张图说明 函数, 实例(对象), 原型之间的关系
- js构造函数、原型和实例之间关系图
- 理解JS的原型对象,构造函数,对象之间的关系
- JS面向对象-原型对象,实例对象,构造函数的关系
- javascript--面向对象(四)原型对象,构造函数及实例对象的关系图
- 秒懂JS对象、构造器函数和原型对象之间的关系
- 理解 javascript 中的 构造函数 原型对象 实例对象 之前的关系
- js中对象所属类、对象中原型属性以及构造函数三者的关系
- 图解js原型(原型,对象,函数之间的关系)
- 前端基础进阶(九):详解面向对象、构造函数、原型与原型链
- 前端基础进阶(七):详解面向对象、构造函数、原型与原型链
- 【学习笔记】JavaScript中,构造函数、原型对象和实例的关系
- 构造函数、实例和原型的概念和关系
- 构造函数,原型,实例三者的关系
- (ssl2291)分组背包
- springMVC转发与重定向
- C# Winform 窗体美化(六、双层窗体)
- 插入排序——直接插入排序
- MySql备份实战
- 前端进阶------实例对象,构造函数,以及原型之间的关系
- httpd的配置详解(一)
- B-滑雪(dfs记忆化搜索)
- Unity3D基础
- 微服务架构是什么
- Git将本地仓库上传到Github
- osg隐藏物体或者Node(多个物体轮流显示)
- PL/SQL保存用户名密码 自定义界面
- win dhcp ip获取失败