ES6
山河 山河
在探索全栈的路上举步维艰
展开
-
数组去重、并集、交集、差集
一、去重 1、借助额外变量空间-ES5 var arr = [1,3,4,5,6,6,7,3,3,3] var newArr = [] var obj = {} function removeDuplicates(arr){ for(var i = 0 ; i < arr.length ; i++){ if(!obj[arr[i]]){ newArr.p...原创 2019-08-05 18:16:09 · 433 阅读 · 4 评论 -
模拟实现ES6中新存储数据方式Map
Map特点 1.有属性名、属性值,键值对不重复,若属性相同会被新添加的键值对覆盖 2.属性名数据类型:function、{}、NaN、number、[]、undefined、null、boolean、string 3.原型方法:set()、get()、delete()、clear()、has() 模拟实现 hash算法:利用hash算法将属性值转化为0-8之间的,进而放入桶中 桶:利用...原创 2019-08-06 09:30:11 · 276 阅读 · 0 评论 -
原生JS模拟实现React.createElement()
1、JSX语法渲染流程:使用jsx语法 => 调用React.createElement()函数 => 返回vNode(虚拟节点) => 渲染到页面上 2、React.createElment(type|标签名,props|属性的对象集合,children..|各种节点) const React = { createElement(type, props, ...c...原创 2019-08-24 18:14:59 · 669 阅读 · 0 评论 -
ES6Class模拟实现
引言 Class特点 1.class必须以new的方式执行直接执行会报错 2.class原型属性、静态属性也不可枚举 3.继承: 公有属性、私有属性 私有属性不等同于静态属性:私有属性可以被实例化的对象继并且每一个对象都不同,静态属性只是构造函数所有 私有属性访问:var op = new Plane(); op.private(私有属性名); 静态属性访问:Plane.static(静态...原创 2019-10-04 21:48:54 · 382 阅读 · 0 评论