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 事件流和事件绑定
Jul 16 Javascript
jquery 图片 上一张 下一张 链接效果(续篇)
Apr 20 Javascript
jquery遍历函数siblings()用法实例
Dec 24 Javascript
微信小程序 封装http请求实例详解
Jan 16 Javascript
整理关于Bootstrap排版的慕课笔记
Mar 29 Javascript
jQuery中hover方法搭配css的hover选择器,实现选中元素突出显示方法
May 08 jQuery
ES6顶层对象、global对象实例分析
Jun 14 Javascript
layerui代码控制tab选项卡,添加,关闭的实例
Sep 04 Javascript
vue+vant实现商品列表批量倒计时功能
Jan 13 Javascript
JS几个常用的函数和对象定义与用法示例
Jan 15 Javascript
vue-video-player 解决微信自动全屏播放问题(横竖屏导致样式错乱问题)
Feb 25 Javascript
Vue实现下拉加载更多
May 09 Vue.js
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中文乱码
2009/11/26 PHP
PHP中对用户身份认证实现两种方法
2011/06/04 PHP
php获取网站百度快照日期的方法
2015/07/29 PHP
Smarty模板常见的简单应用分析
2016/11/15 PHP
php数组指针操作详解
2017/02/14 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
2017/05/11 PHP
php7基于递归实现删除空文件夹的方法示例
2017/06/15 PHP
use jscript with List Proxy Server Information
2007/06/11 Javascript
jquery.alert 弹出式复选框实现代码
2009/06/15 Javascript
JQuery 无废话系列教程(一) jquery入门 [推荐]
2009/06/23 Javascript
IE Firefox 使用自定义标签的区别
2009/10/15 Javascript
js 页面关闭前的出现提示的实现代码
2011/05/25 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
2015/02/20 Javascript
基于jQuery Tipso插件实现消息提示框特效
2016/03/16 Javascript
js滚轮事件兼容性问题需要注意哪些
2016/11/15 Javascript
用原生js做单页应用
2017/01/17 Javascript
用js实现before和after伪类的样式修改的示例代码
2017/09/07 Javascript
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
2018/11/27 Javascript
Python单链表的简单实现方法
2014/09/23 Python
Python使用scrapy采集数据时为每个请求随机分配user-agent的方法
2015/04/08 Python
python按时间排序目录下的文件实现方法
2018/10/17 Python
python的xpath获取div标签内html内容,实现innerhtml功能的方法
2019/01/02 Python
Python argparse模块使用方法解析
2020/02/20 Python
Python使用GitPython操作Git版本库的方法
2020/02/29 Python
找Python安装目录,设置环境路径以及在命令行运行python脚本实例
2020/03/09 Python
Python yield生成器和return对比代码实例
2020/04/20 Python
英文自荐信格式
2013/11/28 职场文书
舞蹈教师自荐信
2014/01/27 职场文书
五一劳动节演讲稿
2014/09/12 职场文书
党员应该树立反腐倡廉的坚定意识思想汇报
2014/09/12 职场文书
莫言诺贝尔获奖感言(全文)
2015/07/31 职场文书
新郎父母婚礼答谢词
2015/09/29 职场文书
如何才能写好调研报告?
2019/07/03 职场文书
设置IIS Express并发数
2022/07/07 Servers