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 相关文章推荐
jQuery实现表单input中提示文字value随鼠标焦点移进移出而显示或隐藏的代码
Mar 21 Javascript
JavaScript的单例模式 (singleton in Javascript)
Jun 11 Javascript
解析js中获得父窗口链接getParent方法以及各种打开窗口的方法
Jun 19 Javascript
jQuery类选择器用法实例
Dec 23 Javascript
JavaScript保留关键字汇总
Dec 01 Javascript
AngularJs Understanding the Controller Component
Sep 02 Javascript
js监听键盘事件的方法_原生和jquery的区别详解
Oct 10 Javascript
JavaScript 字符串数字左补位,右补位,取固定长度,截位扩展函数代码
Mar 25 Javascript
在vue中实现点击选择框阻止弹出层消失的方法
Sep 15 Javascript
vue 需求 data中的数据之间的调用操作
Aug 05 Javascript
jquery自定义组件实例详解
Dec 31 jQuery
vue form表单post请求结合Servlet实现文件上传功能
Jan 22 Vue.js
基于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
apache php模块整合操作指南
2012/11/16 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
PHP实现的下载远程文件类定义与用法示例
2017/07/05 PHP
php实现等比例压缩图片
2018/07/26 PHP
Jquery ajax传递复杂参数给WebService的实现代码
2011/08/08 Javascript
php对mongodb的扩展(初识如故)
2012/11/11 Javascript
web的各种前端打印方法之jquery打印插件jqprint实现网页打印
2013/01/09 Javascript
javascript实现C语言经典程序题
2015/11/29 Javascript
深入浅析JavaScript中的arguments对象(强力推荐)
2016/06/03 Javascript
微信小程序 简单DEMO布局,逻辑,样式的练习
2016/11/30 Javascript
纯js模仿windows系统日历
2017/02/04 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
薪资那么高的Web前端必看书单
2017/10/13 Javascript
使用javascript做在线算法编程
2018/05/25 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
从vue源码解析Vue.set()和this.$set()
2018/08/30 Javascript
JS div匀速移动动画与变速移动动画代码实例
2019/03/26 Javascript
Layui Table js 模拟选中checkbox的例子
2019/09/03 Javascript
微信小程序点击item使之滚动到屏幕中间位置
2020/03/25 Javascript
如何解决vue在ios微信"复制链接"功能问题
2020/03/26 Javascript
Vue elementui字体图标显示问题解决方案
2020/08/18 Javascript
利用Vue实现简易播放器的完整代码
2020/12/30 Vue.js
python相似模块用例
2016/03/04 Python
python3.x 将byte转成字符串的方法
2018/07/17 Python
Django实现WebSSH操作物理机或虚拟机的方法
2019/11/06 Python
浅谈python中频繁的print到底能浪费多长时间
2020/02/21 Python
英国的知名精品百货公司:House of Fraser(福来德)
2016/08/14 全球购物
时尚设计师手表:The Watch Cabin
2018/10/06 全球购物
销售会计工作职责
2013/12/02 职场文书
竞选班长自荐书范文
2014/03/09 职场文书
田径运动会开幕式及主持词
2014/03/28 职场文书
物流专业求职信
2014/06/30 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
感谢信模板大全
2015/01/23 职场文书
python 爬取京东指定商品评论并进行情感分析
2021/05/27 Python
Redis入门基础常用操作命令整理
2022/06/01 Redis