目前正在学JS的原型思想(准确的说是从昨天2018.1.29开始正式接触),琢磨了两天,在chrome的console不停的敲了好多代码测试__proto__和prototype的关系,有了些小收获(见下图,俗话说,具体的东西比抽象的更容易吸收,所以我就画了一张图)。

图解:不同颜色线互不相交,同种颜色线表示一种指向。

代码:

function Person(name){
  this.name=name;
}
//上面代码,创建了一个名为Person的构造器(如果一个函数用于创建对象的话叫构造器)
//JS中的函数本质是对象,即使typeof Person == "function",所以Person才会有下图中的__proto__等属性
//只有函数才有prototype属性

var Jim=new Person("Jim");
//上面代码创建了一个名字叫做Jim的对象,即Person的一个实例

//对于Array() Number() Date()等等的内置构造器等级和Person()一样
//对于像Array()创建的一个数组对象,等级和Jim对象一样
//所以有
var a=new Array();
console.log(a.__proto__.__proto__ == Object.prototype);
//输出 true

  

附上一句真诚的话:

目前的JS原型学习只是刚刚开始,并且,一有收获就会总结并且发在博客上,所以,错误或迷惑之处恳请指正,不要喷,毕竟画幅图、以文字语言总结都不容易啊。

JS原型学习之旅(一)之一图了解原型链关系的更多相关文章

  1. JS事件学习笔记(思维导图)

    导图

  2. js原型学习

    js中所有对象都存在一个隐式原型_ _proto_ _,指向创建这个对象的函数的原型prototype; 而函数的原型prototype都是Object函数的一个对象,也有隐式原型,指向的就是Obje ...

  3. HTML5学习笔记(十六):原型、类和继承【JS核心知识点】

    理解原型 在JavaScript中,只要声明了一个函数,就会为该函数创建一个名为prototype的属性,该属性指向当前函数的原型对象. 而函数的原型对象有一个constructor属性,该属性指向刚 ...

  4. 先从_proto_下手理解原型--原型学习(一)

    给自己关于原型的学习分了一个大类,主要跟踪学习js的原型.--来自<JavaScript面向对象编程指南>的笔记,这本书难度适中,适合我们这种js基础不牢的人学习. 原型这块有两个属性:p ...

  5. WCF学习之旅—第三个示例之四(三十)

           上接WCF学习之旅—第三个示例之一(二十七)               WCF学习之旅—第三个示例之二(二十八)              WCF学习之旅—第三个示例之三(二十九)   ...

  6. js面向对象学习 - 对象概念及创建对象

    原文地址:js面向对象学习笔记 一.对象概念 对象是什么?对象是“无序属性的集合,其属性可以包括基本值,对象或者函数”.也就是一组名值对的无序集合. 对象的特性(不可直接访问),也就是属性包含两种,数 ...

  7. WCF学习之旅—第三个示例之二(二十八)

    上接WCF学习之旅—第三个示例之一(二十七) 五.在项目BookMgr.Model创建实体类数据 第一步,安装Entity Framework 1)  使用NuGet下载最新版的Entity Fram ...

  8. WCF学习之旅—WCF服务部署到应用程序(十)

    上接  WCF学习之旅—WCF寄宿前的准备(八) WCF学习之旅—WCF服务部署到IIS7.5(九) 五.控制台应用程序宿主 (1) 在解决方案下新建控制台输出项目 ConsoleHosting.如下 ...

  9. WCF学习之旅—WCF服务的Windows 服务程序寄宿(十一)

    上接    WCF学习之旅—WCF服务部署到IIS7.5(九) WCF学习之旅—WCF服务部署到应用程序(十) 七 WCF服务的Windows 服务程序寄宿 这种方式的服务寄宿,和IIS一样有一个一样 ...

随机推荐

  1. [国嵌攻略][171][V4L2图像编程接口深度学习]

    V4L2摄像编程模型 1.打开摄像头设备文件 2.获取驱动信息-VIDIOC_QUERYCAP 3.设置图像格式-VIDIOC_S_FMT 4.申请帧缓冲-VIDIOC_REQBUFS 5.获取帧缓冲 ...

  2. Core Animation 文档翻译(第三篇)

    Core Animation 文档翻译(第三篇) 设置Layer对象 当我们使用核心动画时,Layer对象是一切的核心.Layers 管理我们APP的可视化content,Layer也提供了conte ...

  3. JSP学习总结

    1. 为什么需要jsp?  Servlet对于逻辑处理是非常方便的,但是对于页面的展现是非常麻烦的.JSP的诞生是为了解决Servlet页面展现麻烦的问题的. 2. JSP的特点:     Jsp页面 ...

  4. 本地phpstudy开发中apache可以用,nginx不可用,

    倒腾半天,在控制面板中,windows防火墙中关闭防火墙即可, http://blog.csdn.net/vic0228/article/details/70756450

  5. 主题:Windows系统服务器磁盘挂载

    可能很多人发现VPS重装之后D盘.E盘不见了,其实并没有不见只是磁盘未挂载,下面由小编来为大家讲讲如何挂载磁盘 远程登录服务器后,桌面上只有一个回收站的,我们在桌面空白处右键属性-->桌面--& ...

  6. 虚拟主机,VPS,云主机之间的区别?

    虚拟主机即共享主机,是利用虚拟技术把一台完整的服务器分成若干个主机,拥有多个网站,共享这台服务器的硬件和带宽的资源.可以托管简单的静态和动态的网站,满足客户最基本的网络托管需求. VPS是将一台物理服 ...

  7. PHP过滤指定字符串,过滤危险字符

    安全过滤函数,用于过滤危险字符 function safe_replace($string) {  $string = str_replace(' ','',$string);  $string = ...

  8. log4j配置文件简要记录

    和大多数配置文件一样,log4j配置文件也有key-value形式和xml形式.这里主要记录一下key-value的形式 我们通过配置,可以创建出Log4j的运行环境.Log4j由三个重要的组件构成: ...

  9. destoon 默认广告位代码

    <img src="http://www.testinstrument.cn/skin/default/jiurong/img/banner.png" alt="& ...

  10. 邓_laravel框架——news

    ----------------------------------------------------------------------------------- [laravel框架] 路由+中 ...