prototype:构造函数拥有一个对象,称为构造函数的原型属性,可以通过 构造函数prototype进行访问。

__proto__: 构造函数所创造出的实例对象,可通过该属性访问原型对象。

constructor: 是原型下的一个属性,构造器。可认为是原型下的一个方法,指向构造函数本身。

原型继承:实例对象继承自原型的属性或方法。

原型式继承:利用修改原型链的结构(增加一个节点,删除一个节点,修改节点中的成员),来使得实例对象可以使用整体链中的所有成员。

如:Person.prototype = [ ];

//这样子就拥有了【】数组的所有方法 如 push() 方法。

混合继承:实例对象继承于原型,原型又继承于别的对象。

原型链:即构造函数里面有原型,原型里面有原型。(可认为对象有原型,原型是对象)。

****凡是使用构造函数创建出来的对象,并且没有修改其原型属性就说该对象保留默认的原型链。

如:function  Person()   { };

var p = new Person();

//原型链结构如下

p  --> person.prototype --> object.prototype --> null;

原型链结构:

静态成员:即构造函数自身带来的属性与方法。

实例成员:后天人动态地为对象添加的属性或者方法。(可由实例对象直接访问到的属性或者方法)

注:个人学习笔记

JS-原型的某些概念的更多相关文章

  1. 2.js原型的基本概念

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 深入分析JS原型链以及为什么不能在原型链上使用对象

    在刚刚接触JS原型链的时候都会接触到一个熟悉的名词:prototype:如果你曾经深入过prototype,你会接触到另一个名词:__proto__(注意:两边各有两条下划线,不是一条).以下将会围绕 ...

  3. JS 原型链

    之前对JS的prototype知识比较模糊,今天理清了记下来,以防忘记,直切正题: 1.要明白原型链,就必须先清楚JS的构造函数模式: js是面向对象的语言,既然是面型对象,就一定会有一个对象的模板, ...

  4. js原型

    1.js基本类型和对象类型 js的简单类型包括数字(其中NaN为数字类型).字符串(类似'A'为字符,js没字符类型).布尔值.null值和undefined值.其他所有的值都是对象.数字.字符串和布 ...

  5. JS 原型链图形详解

    JS原型链 这篇文章是「深入ECMA-262-3」系列的一个概览和摘要.每个部分都包含了对应章节的链接,所以你可以阅读它们以便对其有更深的理解. 对象 ECMAScript做为一个高度抽象的面向对象语 ...

  6. js原型解析

    我们都知道javascript因为具有了继承以及变量等等一系列的特性之后才被人们认为具有一门编程语言的资格,在后续的不断发展中,js在原生的基础上扩展了基于jquery等等的库,甚至衍生了像node. ...

  7. JS原型的剖析与理解

    原型相关的概念 关于面向对象的概念 类 class 在js中就是构造函数 在传统的面向对象语言中,使用一个叫类的东西定义模版,然后使用模版创建对象 在构造方法中也具有类似的功能,因此称其为类 实例与对 ...

  8. 理解JS原型和原型链

    本文通过对<JavaScript高级程序设计>第六章的理解,加上自己的理解,重组了部分内容,形成下面的文字. 理解了原型这个概念,你的JS世界会清明很多. 为什么要为JS创造原型这个概念 ...

  9. js原型和原型链理解到面向对象

    一.js中的两种对象,普通对象和函数对象 var obj1 = {}; var obj2 =new Object(); var obj3 = new obj1(); function fun1(){} ...

  10. 37.js----浅谈js原型的理解

    浅谈Js原型的理解 一.js中的原型毫无疑问一个难点,学习如果不深入很容易就晕了!    在参考了多方面的资料后,发现解释都太过专业,对于很多还没有接触过面向对象    语言的小白来说,有理解不了里面 ...

随机推荐

  1. golang net包使用

    创建简单的响应服务器 package main import ( "net/http" ) func handlerFunc(w http.ResponseWriter, r *h ...

  2. LFYZ-OJ ID: 1008 求A/B高精度值

    思路 小数点前的部分可以通过m/n直接计算得出 小数点后的20位可通过循环进行快速计算,计算方法如下: m%=n m*=10 小数点后第i位为m/n,回到第1步 第3步后,如果m%n为0,说明已经除净 ...

  3. 第二十一节:ADO层次上的海量数据处理方案(SqlBulkCopy类插入和更新)

    一. 简介 1. 背景: 虽然前面EF的扩展插件Z.EntityFramework.Extensions,性能很快,而且也很方便,但是该插件要收费,使用免费版本的话,需要定期更新,如果不更新,将失效, ...

  4. HTML(五)HTML表格

    标准表格 <table border="1"> <caption>Monthly savings</caption> <tr> &l ...

  5. shell1

    shebang = sharp-bang = #! 1.echo $PATH export PATH="$PATH:/home/user/bin" PREPEND prepend( ...

  6. 删除对象的某个属性 delete

    有时候我们可能会遇到需要删除一个对象的某个属性的这种情况,保留剩下的,不想遍历,那我们就可以使用delete操作符, let obj = { a: 1, b: 2, c: 3 } delete obj ...

  7. Codeforces Round #501 (Div. 3) D. Walking Between Houses

    题目链接 题意:给你三个数n,k,sn,k,sn,k,s,让你构造一个长度为k的数列,使得相邻两项差值的绝对值之和为sss, ∑i=1n∣a[i]−a[i−1]∣,a[0]=1\sum_{i=1}^n ...

  8. ST表学习笔记

    ST表是一种利用DP思想求解最值的倍增算法 ST表常用于解决RMQ问题,即求解区间最值问题 接下来以求最大值为例分步讲解一下ST表的建立过程: 1.定义 f[i][j]表示[i,i+2j-1]这个长度 ...

  9. codeblocks更改颜色主题

    链接:http://www.cnblogs.com/wenbosheng/p/5899483.html

  10. Codeblock代码提示自动补全(包括结构体成员)

    转:https://blog.csdn.net/haibin8473/article/details/79113650