JavaScript对象原型链原理详解


Posted in Javascript onFebruary 05, 2020

这篇文章主要介绍了JavaScript对象原型链原理详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

一个js对象,除了自己设置的属性外,还会自动生成proto、class、extensible属性,其中,proto属性指向对象的原型。

对象的属性也有writable、enumerable、configurable、value和get/set的配置方法。

JavaScript对象原型链原理详解

对象的创建方式有三种:

一、使用字面量直接创建。

二、基于原型链创建。

JavaScript对象原型链原理详解

分析上图,要点如下:

1.可以new运算符新建对象,foo为自定义函数,即是对象。

2.可以设置foo.prototype上的属性。

3.变量z在原型链上,为foo.prototype的属性,并非obj的自有属性。

4.原型链为obj->foo.prototype->Object.prototype->null。

JavaScript对象原型链原理详解

分析上图,要点如下:

1.若定义与原型链上同名的变量,则不会覆盖原型链上的变量,而是在对象本身新增副本。

2.delete运算符不会影响原型链上已有的变量,只会删除对象自身的属性。

三、使用Object.create创建。

JavaScript对象原型链原理详解

分析上图,要点如下:

1.Object.create是基于传入的参数产生新的对象,并且入参会成为其原型链上的一部分。

2.Object.create(null)创建的对象直接指向null。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js jquery做的图片连续滚动代码
Jan 06 Javascript
jquery实现带单选按钮的表格行选中时高亮显示
Aug 01 Javascript
jQuery实现鼠标可拖动调整表格列宽度
May 26 Javascript
jQuery显示和隐藏 常用的状态判断方法
Jan 29 Javascript
jquery图形密码实现方法
Mar 11 Javascript
详解JavaScript中的异常处理方法
Jun 16 Javascript
AngularJS 工作原理详解
Aug 18 Javascript
jquery实现瀑布流效果 jquery下拉加载新数据
Dec 12 Javascript
jQuery validata插件实现方法
Jun 25 jQuery
解决bootstrap-select 动态加载数据不显示的问题
Aug 10 Javascript
jQuery轮播图实例详解
Aug 15 jQuery
Vue实例的对象参数options的几个常用选项详解
Nov 08 Javascript
基于Vue的侧边目录组件的实现
Feb 05 #Javascript
Js视频播放器插件Video.js使用方法详解
Feb 04 #Javascript
jQuery单页面文字搜索插件jquery.fullsearch.js的使用方法
Feb 04 #jQuery
JS代码优化的8点建议
Feb 04 #Javascript
9种方法优化jQuery代码详解
Feb 04 #jQuery
JS代码检查工具ESLint介绍与使用方法
Feb 04 #Javascript
使用typescript改造koa开发框架的实现
Feb 04 #Javascript
You might like
通过具体程序来理解PHP里面的抽象类
2010/01/28 PHP
解决安装WampServer时提示缺少msvcr110.dll文件的问题
2017/07/09 PHP
PHP 传输会话curl函数的实例详解
2017/09/12 PHP
json 定义
2008/06/10 Javascript
兼容IE和Firefox的javascript获取iframe文档内容的函数
2011/08/15 Javascript
JS中typeof与instanceof之间的区别总结
2013/11/14 Javascript
解析页面加载与js函数的执行 onload or ready
2013/12/12 Javascript
javascript学习笔记(七)Ajax和Http状态码
2014/10/08 Javascript
简单谈谈node.js 版本控制 nvm和 n
2015/10/15 Javascript
node.js cookie-parser 中间件介绍
2016/06/06 Javascript
基于JS实现回到页面顶部的五种写法(从实现到增强)
2016/09/03 Javascript
设置jquery UI 控件的大小方法
2016/12/12 Javascript
Vue中使用clipboard实现复制功能
2018/09/05 Javascript
基于node.js实现爬虫的讲解
2019/02/18 Javascript
JS中自定义事件的使用与触发操作实例分析
2019/11/01 Javascript
vue data引入本地图片的两种方式小结
2019/11/13 Javascript
[00:33]2018DOTA2亚洲邀请赛TNC出场
2018/04/04 DOTA
Python代码调试的几种方法总结
2015/04/15 Python
Python内置数据结构与操作符的练习题集锦
2016/07/01 Python
Python简单I/O操作示例
2019/03/18 Python
Python描述符descriptor使用原理解析
2020/03/21 Python
Python Flask异步发送邮件实现方法解析
2020/08/01 Python
中国领先的专业家电网购平台:国美在线
2016/12/25 全球购物
印度最大的网上花店:Ferns N Petals(鲜花、礼品和蛋糕)
2017/10/16 全球购物
西班牙拥有最佳品牌的动物商店:Animalear.com
2018/01/05 全球购物
Java中会存在内存泄漏吗,请简单描述
2016/12/22 面试题
绩效管理实施方案
2014/03/19 职场文书
保证书范文大全
2014/04/28 职场文书
兴趣小组活动总结
2014/05/05 职场文书
广告学专业毕业生自荐信
2014/05/28 职场文书
学校节能减排方案
2014/06/13 职场文书
群众路线教育实践活动对照检查材料
2014/09/22 职场文书
电气工程师岗位职责
2015/02/12 职场文书
五四青年节比赛演讲稿
2015/03/18 职场文书
python井字棋游戏实现人机对战
2022/04/28 Python
Ubuntu安装Mysql+启用远程连接的完整过程
2022/06/21 Servers