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 相关文章推荐
用javascript实现无刷新更新数据的详细步骤 asp
Dec 26 Javascript
JavaScript 设计模式之组合模式解析
Apr 09 Javascript
JS获取select-option-text_value的方法
Dec 26 Javascript
jquery的live使用注意事项
Feb 18 Javascript
JavaScript中的Primitive对象封装介绍
Dec 31 Javascript
jQuery中attr()方法用法实例
Jan 05 Javascript
JavaScript实现的简单幂函数实例
Apr 17 Javascript
详解vue的数据劫持以及操作数组的坑
Apr 18 Javascript
解决layui 三级联动下拉框更新时回显的问题
Sep 03 Javascript
JS 遍历 json 和 JQuery 遍历json操作完整示例
Nov 11 jQuery
vue路由缓存的几种实现方式小结
Feb 02 Javascript
node+vue实现文件上传功能
May 28 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/11 PHP
全局记录程序片段的运行时间 正确找到程序逻辑耗时多的断点
2011/01/06 PHP
php删除文件夹及其文件夹下所有文件的函数代码
2013/01/23 PHP
php实现的发送带附件邮件类实例
2014/09/22 PHP
php保存信息到当前Session的方法
2015/03/16 PHP
浅析PHP中的i++与++i的区别及效率
2016/06/15 PHP
PHP实现的简单排列组合算法应用示例
2017/06/20 PHP
PHP下载大文件失败并限制下载速度的实例代码
2019/05/10 PHP
PHP code 验证码生成类定义和简单使用示例
2020/05/27 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
用js怎么把&字符换成"&amp:"
2006/10/19 Javascript
JS处理VBArray的函数使用说明
2008/05/11 Javascript
奉献给JavaScript初学者的编写开发的七个细节
2011/01/11 Javascript
一个简单的js树形菜单
2011/12/09 Javascript
js打开windows上的可执行文件示例
2014/05/27 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
IOS中safari下的select下拉菜单文字过长不换行的解决方法
2016/09/26 Javascript
基于Vue开发数字输入框组件
2017/12/19 Javascript
Angular设置别名alias的方法
2018/11/08 Javascript
Vue项目配置跨域访问和代理proxy设置方式
2020/09/08 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
[01:20]2018DOTA2亚洲邀请赛总决赛战队Mineski晋级之路
2018/04/07 DOTA
Python中实现从目录中过滤出指定文件类型的文件
2015/02/02 Python
介绍Python的Urllib库的一些高级用法
2015/04/30 Python
启动targetcli时遇到错误解决办法
2017/10/26 Python
详解Python自建logging模块
2018/01/29 Python
pandas 如何分割字符的实现方法
2019/07/29 Python
Python3列表List入门知识附实例
2020/02/09 Python
HTML5 背景的显示区域实现
2020/07/09 HTML / CSS
加大码胸罩、内裤和服装:Just My Size
2019/03/21 全球购物
Weblogic的布署方式
2013/08/23 面试题
Linux文件系统类型
2012/02/15 面试题
文员岗位职责范本
2014/03/08 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
团代会邀请函
2015/02/02 职场文书
导游词之黄帝陵景区
2019/09/16 职场文书