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 常用代码技巧大收集
Feb 25 Javascript
JavaScript 字符串与数组转换函数[不用split与join]
Dec 13 Javascript
JS和JQ的event对象区别分析
Nov 24 Javascript
详谈javascript中DOM的基本属性
Feb 26 Javascript
深入探究AngularJS框架中Scope对象的超级教程
Jan 04 Javascript
实现easyui的datagrid导出为excel的示例代码
Nov 10 Javascript
JS中定位 position 的使用实例代码
Aug 06 Javascript
基于Vue实现后台系统权限控制的示例代码
Aug 29 Javascript
vue实现选项卡及选项卡切换效果
Apr 24 Javascript
关于vue项目中搜索节流的实现代码
Sep 17 Javascript
javascript设计模式 ? 装饰模式原理与应用实例分析
Apr 14 Javascript
Vue中使用import进行路由懒加载的原理分析
Apr 01 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调用数据库的存贮过程
2006/10/09 PHP
PHP set_error_handler()函数使用详解(示例)
2013/11/12 PHP
PHP实现HTTP断点续传的方法
2015/06/17 PHP
PHP实现可精确验证身份证号码的工具类示例
2018/05/31 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
一步一步教你写一个jQuery的插件教程(Plugin)
2009/09/03 Javascript
JavaScript中的null和undefined区别介绍
2015/01/01 Javascript
JavaScript模拟深蓝vs卡斯帕罗夫的国际象棋对局示例
2015/04/22 Javascript
jQuery根据表单name获取值的方法
2016/05/24 Javascript
JS实现的跨浏览器解析XML文件实例
2016/06/21 Javascript
关于验证码在IE中不刷新的快速解决方法
2016/09/23 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
node.js入门学习之url模块
2017/02/25 Javascript
js上下视差滚动简单实现代码
2017/03/07 Javascript
代码详解Vuejs响应式原理
2017/12/20 Javascript
vue使用video插件vue-video-player详解
2020/10/23 Javascript
用webAPI实现图片放大镜效果
2020/11/23 Javascript
[46:27]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#2LGD VS MVP.Phx第一局
2016/03/02 DOTA
python根据出生年份简单计算生肖的方法
2015/03/27 Python
python获得文件创建时间和修改时间的方法
2015/06/30 Python
Python Requests安装与简单运用
2016/04/07 Python
python使用xlsxwriter实现有向无环图到Excel的转换
2018/12/12 Python
win10系统下python3安装及pip换源和使用教程
2020/01/06 Python
解决torch.autograd.backward中的参数问题
2020/01/07 Python
Django实现列表页商品数据返回教程
2020/04/03 Python
selenium3.0+python之环境搭建的方法步骤
2021/02/01 Python
Myprotein俄罗斯官网:欧洲第一运动营养品牌
2019/05/05 全球购物
屈臣氏菲律宾官网:Watsons菲律宾
2020/06/30 全球购物
运动会表扬稿大全
2014/01/16 职场文书
会展策划与管理专业求职信
2014/06/09 职场文书
汉语专业毕业生自荐信
2014/07/06 职场文书
护理目标管理责任书
2014/07/25 职场文书
学习党代会心得体会
2014/09/05 职场文书
2014年数学教师工作总结
2014/12/03 职场文书
暑期辅导班宣传单
2015/07/14 职场文书
python模拟浏览器 使用selenium进入好友QQ空间并留言
2022/04/12 Python