为什么80%的码农都做不了架构师?>>>   

在Javascript里,一切对象(Object和Function)都有内部的属性_proto_,但只Object.prototype._proto_ 为 null,这个属性对于开发人员不可见(Firefox、Chrome浏览器可以访问到,IE不行)。对于Function(函数或方法),创建时还会有一个Prototype,这个“Prototype”才是开发人员经常用到的原型链继承应用。

每当创建一个对象的时候,这个对象的_proto_就会被赋值为这个对象的构造函数的prototype,这样对象的_proto_属性和构造函数的 prototype引用相同的对象,并且一旦对象创建完成,_proto_属性就不会改变。 这样通过对象的_proto_属性,以及_proto_所引用的对象的_proto_属性,就构成了一个_proto_链。 当访问一个对象的属性和方法的时候,js虚拟机正是通过这个_proto_链来查找的。

参考:http://www.mollypages.org/misc/js.mp

instanceof

假设有一条这样的语句:A instanceof B;
     在上面的语句执行过程中,虚拟机会把B.prototype和A的_proto_链上的节点逐个进行比较,如果找到相等的节点,则返回true,否则返回false。

typeof

会返回六种类型的结果 object function string number booean undefined,是javascript语言实现的一些判定类型的机制。

转载于:https://my.oschina.net/ffwcn/blog/199509

Javascript的原型链、instanceof与typeof相关推荐

  1. Javascript的原型链图

    90%的前端或者js程序员或者老师们对Javascript懂得不比这个多 给手机看的 但是这个图里的所有褐色单向箭头链就是Javascript的原型链(颜色标注对理解js原型链很关键) 这图中的各个_ ...

  2. JavaScript:原型链、继承

    1.理解原型对象 我们先使用构造函数创建一个对象: function Person() { } var person = new Person(); person.name = 'Kevin'; co ...

  3. Javascript的原型链

    Javascript基于 '__proto__' 的原型链 图片说明 1.总共三类对象(蓝色大框) 2.实例对象(通过new XX() 所得到的实例),跟原型链相关的只有 __proto__ 属性,指 ...

  4. 说说JavaScript的原型链

    在JS中,原型链有时候让人觉得很胡里花哨,又是prototype.__proto__又是各种指向什么的,让人觉得很头疼.如果你也有这种感觉,或许这篇文章可以帮助到你 一.认识原型 1.先来一串代码 v ...

  5. JavaScript完整原型链图解

    了解完整原型链对我们有什么帮助? 没什么帮助,装逼意义大于实用(doge) 好的吧,可能是我还是新手,没碰上这方面的需求 完整原型链图示 上图里,我们常用的部分是右下至右上的链,即从构造函数到构造函数 ...

  6. 前端学习(1698):前端系列javascript之原型链和instance

  7. JavaScript进阶学习(二)—— 基于原型链继承的js工具库的实现方法

    文章来源:小青年原创 发布时间:2016-07-03 关键词:JavaScript,原型链,jQuery类库 转载需标注本文原始地址: http://zhaomenghuan.github.io... ...

  8. web前端面试高频考点——JavaScript 篇(一)【JS的三座大山 】 原型和原型链、作用域和闭包、异步

    系列文章目录 JavaScript 知识梳理,收录了web前端面试 95%以上 的高频考点,满满的干货.给你做一个高效的知识梳理,为你的面试保驾护航! 内容 参考链接 HTML & CSS 篇 ...

  9. JavaScript重难点解析3(原型与原型链、执行上下文与执行上下文栈)

    JavaScript重难点解析3(原型与原型链.执行上下文与执行上下文栈) 原型与原型链 原型(prototype) 显示原型与隐式原型 原型链 instanceof是如何判断 执行上下文与执行上下文 ...

最新文章

  1. 精通Server Core系列之一 ---Server Core简介
  2. 通过Internet与数据链路层传输信息时会发生什么?—Vecloud微云
  3. susan算子的运用
  4. Dockerfile文件创建centos:7,配置JDK8的环境变量,与运行springboot的jar包,的镜像
  5. jBPM4.4 window下启动tomcat
  6. RHCE 学习笔记(16) - KickStart
  7. Java基础学习总结(47)——JAVA输入输出流再回忆
  8. java 访问器_网络之美 JavaScript中Get和Set访问器的实现代码
  9. JSP之实现分页查询
  10. 从delphi 10.3到delphi 10.4的改变实务
  11. 软件测试工程师企业级培训视频教程
  12. app测试和web测试的区别
  13. cass生成里程文件桩号不全_怎样用CASS生成里程文件,带桩号的
  14. 计算机access分数比例,[access查询]关于分数段统计问题
  15. 为 什 么 有 的 文 件 不 可 以 重 命 名
  16. TypeScript(八)装饰器
  17. m-序列简述及其相关性质
  18. presentViewController: 如何不覆盖原先的 viewController界面
  19. VUE使用document.onkeydown键盘的监听与移除
  20. C语言实现猜字小游戏

热门文章

  1. 关于条件随机场的一些补充
  2. 最简单的t-SNE上手使用
  3. 扩散模型就是自动编码器!DeepMind研究学者提出新观点并论证
  4. 谷歌、哈佛联手绘出「百万分之一」人脑神经3D连接图!天量数据竟可塞满14亿块1T硬盘...
  5. MLOps是构建在一个谎言上的吗?
  6. 光遗传学离诺奖又双叒进一步!10天后谜底将揭晓 (盘点光遗传学近年来获奖记录)...
  7. 张亚勤、韦乐平等综述论文:通信人工智能的下一个十年
  8. μ子刷屏的背后:说「新物理学即将现身」还为之过早
  9. 模仿人脑视觉处理,助力神经网络应对对抗性样本
  10. 解读自动驾驶的2020:从硬件角度看,无人车商业化落地难在哪?