前言

在前端开发过程中,涉及到JS原理相关的内容也就是常用的几大模块,不仅常用而且很重要,但是涉及到原理的话会有点难懂,尤其是对JS接触不太久的开发者来讲。本篇博文就来分享一下关于JS的原型和原型链相关的知识点,虽然复杂、难懂但是很重要,值得收藏,方便后期查阅使用。

一、prototype

背景

JS 中,除了基本数据类型(也叫简单数据类型)之外的类型,都是引用数据类型(也叫复杂数据类型),即对象;也就是说,在JS的宇宙中,一切皆是对象。在ES6之前,由于JS中没有类的概念(在ES6的时候引入了class,但其也只是语法糖),在实际开发中想要将所有的对象关联起来就成了问题,于是原型和原型链的概念应运而生。

原型字面释义(来源于网络)

原型(prototype)这个词来自拉丁文的词proto,意谓“最初的”,意义是形式或模型。在非技术类的文中,一个原型是给定种类的一个代表性例子。

在以原型为基础的程序方面,一个原型是一个最初的对象(object);新的物体藉由复制原型产生。

JS中原型(Prototype)的概念

关于这个JS中的原型概念,网上有太多文章,释义也是大同小异,那么在这里根据网上有用的释义以及自己的总结,重新总结一下JS中原型的概念,由浅及深的释义,具体如下所示:

前端开发:JS中原型和原型链的介绍相关推荐

  1. 《js中原型和原型链的深入理解》的笔记

    前言:在微信公众号前端大全上看过<js中原型和原型链的深入理解>,个人认为这是我看过的js原型链的文章中,在思维结构上理解最清楚的一个文章了,本着温故而知新,有害怕找不到这个文章,我就把文 ...

  2. JS 中原型和原型链深入理解

    作者: erdu segmentfault.com/a/1190000014717972 首先要搞明白几个概念: 函数(function) 函数对象(function object) 本地对象(nat ...

  3. 【JS继承】JS继承之原型链继承

    自我介绍:大家好,我是吉帅振的网络日志:微信公众号:吉帅振的网络日志:前端开发工程师,工作4年,去过上海.北京,经历创业公司,进过大厂,现在郑州敲代码. JS继承专栏 1[JS继承]什么是JS继承? ...

  4. JS题目总结:原型链/new/json/MVC/Promise

    JS题目总结:原型链/new/json/MVC/Promise 1原型链相关 解读: 上图中,Object,Function,Array,Boolean都是构造函数 第一个框: object是实例对象 ...

  5. [js] js怎样避免原型链上的对象共享?

    [js] js怎样避免原型链上的对象共享? 组合继承 优势 公有的写在原型 私有的卸载构造函数 可以向父类传递参数 劣势 需要手动绑定constructor 封装性一般 重复调用父类性能损耗

  6. JS数据类型 构造函数 原型链

    js数据类型 基本数据类型:string   undefined   null  boolean  number 引用数据类型  Object  array  function 二者的区别 基本数据类 ...

  7. js构造函数的原型链

    年初前端面试,总会遇到面试官询问js的原型链问题,借用一张图片能帮助我们去复习这个问题: 1.每个构造函数都有一个prototype的原型对象,他的作用是为了共享构造方法,节省内存空间. 2.查找的机 ...

  8. 前端开发JS的学习之AngularJS库

    这两年做前端开发,对JS的学习还在不断,JS的发展还是很快的.下面来看看一个AngularJS库. 服务是AngularJS中非常重要的一个概念,虽然我们有了控制器,但考虑到其生命实在脆弱,我们需要用 ...

  9. JS三座大山之原型链

    在JS中原型链的概念刚开始可能一直迷惑着大多数人,我也一样,不过花点时间仔细的梳理梳理,还是很容易理解的.本文就着重介绍一下原型链,如有不对之处,欢迎指正,共同探讨,共同进步. 在面试时,面试官可能会 ...

最新文章

  1. Django REST framework API 指南(12):验证器
  2. 树形数据深度排序处理示例(递归法).sql
  3. 程序员面试题100题第29题——调整数组顺序使奇数位于偶数前面
  4. c语言中dfs用pos做参数,使用DFS解决8-Puzzle
  5. 在阿里云服务器(Ubuntu系统)下使用WordPress搭建博客网站教程
  6. 【线上分享】视频质量评价:挑战与机遇
  7. 关于计算机哪些学校好,计算机哪些学校好
  8. springboot2稳定版本_重要版本Spring Boot 2.3.0发布 - spring.io
  9. 从运维角度浅谈MySQL数据库优化,中小企业DBA必会
  10. BZOJ 2287 POJ Challenge 消失之物
  11. 登录emc磁阵提示java版本低_安装完打开 eclipse 提示 JVM 版本较低
  12. c语言课后第七章习题,c语言课后习题第7章函数
  13. 老男孩Python 第7期 老男孩Python培训视频教程
  14. 使用group by查询时报错ORDER BY clause is not in GROUP BY..this is incompatible with sql_mode=only_full_grou
  15. Ubuntu20.04上安装Gnuradio3.8并且实现Pluto的配置
  16. 天津科技大学计算机专业,天津科技大学计算机科学与信息工程学院介绍
  17. 快排 c语言,c语言的库函数之快排
  18. py233基于 python的诚交大学生二手交易平台Django#毕业设计
  19. AFM模型原理及Pytorch代码复现
  20. 《数据同步-NIFI系列》Nifi详细教程入门-01概念

热门文章

  1. 阿里云RDS与ECS自建库搭建主从复制
  2. 传iPhone5或于6月20日前上市
  3. html div的点击事件,Jquery为DIV添加click事件的简单实例
  4. [UML专题-2]:plantUML绘制软件设计图形快速入门
  5. 【Python入门基础】Pycharm格式化代码常用快捷键
  6. 清华大学钢铁产业高级工商管理研修班(第九期)
  7. 如何选择CMWAP或CMNET进行拨号
  8. boot返回码规范 spring_SpringBoot自定义异常体系和错误码规范定义(个人经验总结)...
  9. ●Codevs 4158 残缺的字符串
  10. 【推荐收藏 】Python写入MySQL数据库的三种方式,最后一种方式方便又高效