JavaScript对象原型链原理解析


Posted in Javascript onJanuary 22, 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 解析json的代码
Dec 16 Javascript
JS编程小常识很有用
Nov 26 Javascript
jQuery过滤特殊字符及JS字符串转为数字
May 26 Javascript
Vuejs第九篇之组件作用域及props数据传递实例详解
Sep 05 Javascript
Bootstrap基本样式学习笔记之按钮(4)
Dec 07 Javascript
浅谈Express异步进化史
Sep 09 Javascript
VueJs 搭建Axios接口请求工具
Nov 20 Javascript
vue.js根据代码运行环境选择baseurl的方法
Feb 28 Javascript
javascript判断一个变量是数组还是对象
Apr 10 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
使用vue实现多规格选择实例(SKU)
Aug 23 Javascript
超简单的微信小程序轮播图
Nov 22 Javascript
Node.js学习之内置模块fs用法示例
Jan 22 #Javascript
ES6学习笔记之字符串、数组、对象、函数新增知识点实例分析
Jan 22 #Javascript
ES6学习笔记之let与const用法实例分析
Jan 22 #Javascript
vue中js判断长时间不操作界面自动退出登录(推荐)
Jan 22 #Javascript
Vue设置长时间未操作登录自动到期返回登录页
Jan 22 #Javascript
JavaScript设计模型Iterator实例解析
Jan 22 #Javascript
Vue开发环境跨域访问问题
Jan 22 #Javascript
You might like
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
php 5.3.5安装memcache注意事项小结
2011/04/12 PHP
PHP中几种常见的超时处理全面总结
2012/09/11 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
比较详细的关于javascript 解析json的代码
2009/12/16 Javascript
超简单的jquery的AJAX用法
2010/05/10 Javascript
js操纵跨frame的三级联动select下拉选项实例介绍
2013/05/19 Javascript
一个js导致的jquery失效问题的解决方法
2013/11/27 Javascript
jQuery插件pagination实现分页特效
2015/04/12 Javascript
JavaScript中的Math.sin()方法使用详解
2015/06/15 Javascript
jQuery on()方法绑定动态元素的点击事件实例代码浅析
2016/06/16 Javascript
jQuery实现图片轮播效果代码
2016/09/27 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
微信小程序踩坑记录之解决tabBar.list[3].selectedIconPath大小超过40kb
2018/07/04 Javascript
JavaScript代码实现简单计算器
2020/12/27 Javascript
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
Python中动态获取对象的属性和方法的教程
2015/04/09 Python
Python中用字符串调用函数或方法示例代码
2017/08/04 Python
解决Python3中的中文字符编码的问题
2018/07/18 Python
Django异步任务线程池实现原理
2019/12/17 Python
Django form表单与请求的生命周期步骤详解
2020/06/07 Python
Python 测试框架unittest和pytest的优劣
2020/09/26 Python
英国领先的办公用品供应商:Viking
2016/08/01 全球购物
生物技术专业研究生自荐信
2013/09/22 职场文书
专升本自我鉴定
2013/10/10 职场文书
超市总经理岗位职责
2014/02/02 职场文书
《记承天寺夜游》教学反思
2014/02/16 职场文书
《少年王勃》教学反思
2014/04/27 职场文书
室内趣味活动方案
2014/08/24 职场文书
规范化管理年活动总结
2014/08/29 职场文书
领导干部保密承诺书
2014/08/30 职场文书
九一八事变演讲稿
2014/09/05 职场文书
2014年最新学校运动会广播稿
2014/09/17 职场文书
接收函格式
2015/01/30 职场文书
学习保证书100字
2015/02/26 职场文书