文档章节

JS中的原型及原型链的一点总结

wenxingjun
 wenxingjun
发布于 2017/09/05 00:42
字数 432
阅读 23
收藏 0

  1.JS中万物皆对象,但是分为两大类,函数对象,普通对象

     2.所有的函数对象都有一个prototype属性,这个属性引用了一个对象,即原型对象,也称原型。然而普通对象是没有prototype属性,只有_proto_属性

     3.原型对象就是普通对象,(Function.prototype除外,因为它是函数对象,但比较特殊,因为没有prototype属性)

     4.类实例对象的内部_proto_指向它构造函数的prototype

     5.obj.constructor === A.prototype.constructor,就是说类的实例对象的constructor属性永远指向构造函数的prototype.constructor,即使A.prototype不再指向原来A的原型

     6.obj.constructor.prototype === A.prototype。当A.prototype改变,则不成立

     7.类继承:(JS中没有类,这里只是指构造函数)。虽然继承了A构造函数对象的所有属性方法,但不能继承A原型对象的成员,而要实现这个目的,就是在此基础上再添加原型继承

     8.原型对象主要用于继承,JS在创建对象的时候,(不论是普通对象 还是函数对象),都有一个叫做_proto_的内置属性,用于指向创建它的函数对象的原型对象prototype

     9.原型对象prototype中都有个预定义的constructor属性,用于引用它的函数对象。比如说:person.prototype.constructor === person。

    10.Object.constructor === Function。如何查找一个对象的constructor,就是在该对象的原型链上寻找碰到的第一个constructor属性所指向的对象

    11.原型和原型链是JS实现继承的一种模型

    12.原型链的形成是靠_proto_,而不是prototype

© 著作权归作者所有

共有 人打赏支持
wenxingjun
粉丝 0
博文 32
码字总数 6890
作品 0
温州
私信 提问
用通俗易懂的语言介绍JavaScript原型

原型(prototype)是每个JavaScript开发人员必须理解的基本概念,本文的目标是通俗而又详细地解释JavaScript的原型。如果你读完这篇博文以后还是不理解JavaScript的原型,请将你的问题写在下...

gsbhzh
2014/10/29
0
0
从babel实现es6类的继承来深入理解js的原型及继承

先聊个5毛钱的背景吧 自从有了babel这一个利器之后,es6现在已经被广泛的使用。JavaScript 类实质上是 JavaScript 现有的基于原型的继承的语法糖。类语法不会为JavaScript引入新的面向对象的...

春天的风剑客
09/11
0
0
轻松理解JavaScript原型及原型链

说到JavaScript的原型和原型链,相关文章已有不少,但是大都晦涩难懂。本文将换一个角度出发,先理解原型和原型链是什么,有什么作用,再去分析那些令人头疼的关系。 一、引用类型皆为对象 ...

Logan70
11/12
0
0
JavaScript中的属性操作

JavaScript中的属性操作 一、 原型链 在js中,任何一个对象都有一个prototype属性,在js中记做:proto。 比如,我们创建一个对象: 虽然看起来我们只为foo对象创建了两个属性,实际上,它还有...

达摩码者
2015/04/06
0
0
最详尽的 JS 原型与原型链终极详解,没有「可能是」

一. 普通对象与函数对象 JavaScript 中,万物皆对象!但对象也是有区别的。分为普通对象和函数对象,Object 、Function 是 JS 自带的函数对象。下面举例说明 在上面的例子中 o1 o2 o3 为普通...

临江仙卜算子
07/09
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Java二分查找代码案例

public static int binarySearch(Integer[] srcArray, int des) { //定义初始最小、最大索引 int low = 0; int high = srcArray.length - 1; //确保不会出现重复查找,越界 while (low <= hi......

绝地逢生
7分钟前
0
0
在JAVA中线程到底起到什么作用!

这是javaeye上非常经典的关于线程的帖子,写的非常通俗易懂的,适合任何读计算机的同学. 线程同步 我们可以在计算机上运行各种计算机软件程序。每一个运行的程序可能包括多个独立运行的线程(...

xtof
19分钟前
0
0
纹理与表面细节添加方法---帧映射

中国龙-扬科
36分钟前
0
0
vue学习:9、模块工具包收集

vue常用包收集 npm i webpack@3.6.0 -s 样式支持包 npm i css-loader -s npm i style-loader -s 图片支持 npm i url-loader file-loader -s 利用less操作图片 npm i less -s npm i less-loa......

轻轻的往前走
37分钟前
0
0
20181115上课截图

小丑鱼00
47分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部