摘要:以上的描述说,此方法有两个参数,新创建对象的原型对象。创建一个干净的对象,我们就要借助上面的这个方法了是基本数据类型,是没有原型的,所以讲作为第一个参数传入创建出来的对象就是干净的对象。这个对象不会继承任何。
什么叫"干净"的map
一般声明一个map对象我们使用字面量的方法
let map = {};
我们知道,使用字面量声明的对象其实就是默认继承了Object对象,也就是说这个对象拥有Object的原型方法,比如:toString()... 这样的对象我们可不叫干净的。
那么该怎么做呢?Object.create(proto, [propertiesObject]): 这个方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。 (请查看浏览器控制台以获取视觉证据。)[以上MDN的]
MDN描述说,此方法有两个参数,
proto, 新创建对象的原型对象。
propertiesObject, 可选。如果没有指定为 undefined,则是要添加到新创建对象的可枚举属性(即其自身定义的属性,而不是其原型链上的枚举属性)对象的属性描述符以及相应的属性名称。这些属性对应Object.defineProperties()的第二个参数。
创建一个"干净"的对象,我们就要借助上面的这个方法了
let cleanMap = Object.create(null);
null是基本数据类型,是没有原型的,所以讲null作为第一个参数传入创建出来的对象就是"干净"的对象。这个对象不会继承任何。
参考文章:http://www.jstips.co/en/javas...
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/95123.html
摘要:比如参数表示使用我们通常使用的十进制数值系统。始终指定此参数可以消除阅读该代码时的困惑并且保证转换结果可预测。当未指定基数时,不同的实现会产生不同的结果,通常将值默认为。 showImg(https://segmentfault.com/img/bVbvtHZ?w=536&h=116); 为什么是[1,NaN,NaN]而不是[1,2,3]? 首先看下 Array.map()函数在MD...
摘要:如果我们把非布尔值作为条件呢打开控制台并运行上述代码,会打印说明条件为真值。在中,真值指的是在布尔值上下文中转换后的值为真的值。两个能够建立元素间一一对应的集合称为互相对等集合。 showImg(https://segmentfault.com/img/bVbtSvt?w=720&h=360); 为了保证可读性,本文采用音译而非直译。 Javascript 一直是神奇的语言。 不相信我...
摘要:前言继续向下看廖大教程,看到了函数式编程这一节,当时是觉得没啥用直接跳过了,这次准备要仔细看一遍了,并记录下一些心得。 前言 继续向下看廖大教程,看到了函数式编程这一节,当时是觉得没啥用直接跳过了,这次准备要仔细看一遍了,并记录下一些心得。 函数式编程 上学期有上一门叫 人工智能 的课,老师强行要我们学了一个叫做 prolog 的语言,哇那感觉确实难受,思维方式完全和之前学过的不一样,...
摘要:项目有一个需求,定时显示隐藏图标,刚开始是图表显示正常。原因可能是读取不到隐藏的高宽。在可视区域变化时重新调整,这时候如果处于隐藏状态,那么在时就读取不到节点的宽高,图表就无法显示。 项目有一个需求,定时显示隐藏echarts图标,刚开始dom是display:block;图表显示正常。等到dom隐藏再显示的时候图表还是正常,很好没有bug。可是当我在dom处于display:none...
阅读 1674·2021-11-15 11:37
阅读 3407·2021-09-28 09:44
阅读 1648·2021-09-07 10:15
阅读 2783·2021-09-03 10:39
阅读 2686·2019-08-29 13:20
阅读 1290·2019-08-29 12:51
阅读 2204·2019-08-26 13:44
阅读 2124·2019-08-23 18:02