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 相关文章推荐
Google Suggest ;-) 基于js的动态下拉菜单
Oct 11 Javascript
JavaScript面向对象设计二 构造函数模式
Dec 20 Javascript
jQuery实现返回顶部效果的方法
May 29 Javascript
JS自定义选项卡函数及用法实例分析
Sep 02 Javascript
javascript制作照片墙及制作过程中出现的问题
Apr 04 Javascript
小白谈谈对JS原型链的理解
May 03 Javascript
JavaScript 是什么意思
Sep 22 Javascript
本地Bootstrap文件字体图标引入却无法显示问题的解决方法
Apr 18 Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 Javascript
基于jQuery Easyui实现登陆框界面
Jul 10 jQuery
基于zepto.js实现登录界面
Oct 09 Javascript
微信小程序canvas绘制圆角base64图片的实现
Aug 18 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
php创建session的方法实例详解
2015/01/27 PHP
iOS+PHP注册登录系统 PHP部分(上)
2016/12/26 PHP
javascript中substr,substring,slice.splice的区别说明
2010/11/25 Javascript
用Javascript实现Windows任务管理器的代码
2012/03/27 Javascript
js文本框输入点回车触发确定兼容IE、FF等
2013/11/19 Javascript
获取鼠标在div中的相对位置的实现代码
2013/12/30 Javascript
使用ajaxfileupload.js实现ajax上传文件php版
2014/06/26 Javascript
PHP+MySQL+jQuery随意拖动层并即时保存拖动位置实例讲解
2015/10/09 Javascript
JavaScript中字符串与Unicode编码互相转换的实现方法
2015/12/18 Javascript
JavaScript中各种引用类型的常用操作方法小结
2016/05/05 Javascript
解决Angular.Js与Django标签冲突的方案
2016/12/20 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
详解在React中跨组件分发状态的三种方法
2018/08/09 Javascript
Vue 样式绑定的实现方法
2019/01/15 Javascript
微信小程序将页面按钮悬浮固定在底部的实现代码
2020/10/29 Javascript
使用Python编写简单的端口扫描器的实例分享
2015/12/18 Python
Python时间的精准正则匹配方法分析
2017/08/17 Python
基于python socketserver框架全面解析
2017/09/21 Python
Python实现的服务器示例小结【单进程、多进程、多线程、非阻塞式】
2019/05/23 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
Tensorflow实现神经网络拟合线性回归
2019/07/19 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
关于python中导入文件到list的问题
2020/10/31 Python
python3爬虫中引用Queue的实例讲解
2020/11/24 Python
用Python实现定时备份Mongodb数据并上传到FTP服务器
2021/01/27 Python
HTML5+CSS设置浮动却没有动反而在中间且错行的问题
2020/05/26 HTML / CSS
匡威荷兰官方网站:Converse荷兰
2018/10/24 全球购物
上班睡觉检讨书
2014/01/09 职场文书
学习全国两会精神心得体会范文
2014/03/17 职场文书
事业单位分类改革实施方案
2014/03/21 职场文书
国旗下的演讲稿
2014/05/08 职场文书
小学兴趣小组活动总结
2014/07/07 职场文书
美术第二课堂活动总结
2014/07/08 职场文书
团组织推荐意见
2015/06/05 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书
哪类餐饮行业,最适合在高校创业?
2019/08/19 职场文书