![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ES6
文章平均质量分 82
CreatorRay
这个作者很懒,什么都没留下…
展开
-
JS手写实现call、apply、bind(超详细)
好久不更新了哦,最近又在找工作。复习一下JS中非常重要的一部分内容,关于this指向的问题常规的this指向可以简单总结为谁引用就指向谁,找不到谁引用就指向window。this指向中还有非常重要的一部分,就是改变this指向的方法。原生JS提供了call、apply、bind三种方式来修改this指向,三种方式各有特点,各有应用场景。在如今的前端面试中,会用call、apply、bind已经达不到要求了,要能够知道原理并手写实现。原生call的使用先看一下原生call的使用方式。funct.原创 2022-02-22 16:06:44 · 2831 阅读 · 0 评论 -
请说说CommonJS和ES module的区别
CommonJS1.module代表当前模块在CommonJS中,一个文件就是一个模块,模块中的变量、函数、类都是私有的外部不可以访问,并规定module代表当前模块,exports是对外的接口。CommonJS主要依赖于module这个类,我们可以看一下module上面的相关属性:Module { id: '.', // 如果是 mainModule id 固定为 '.',如果不是则为模块绝对路径 exports: {}, // 模块最终 exports filename: '/abs转载 2021-10-12 22:05:54 · 607 阅读 · 0 评论 -
一个系列带你搞定前端面试的手写代码环节(6) --- 数组扁平化
这期的内容是数组扁平化,这也是很考察基本功的一道题,解决的办法也比较多。什么是数组扁平化常规的解释就是把一个多维数组转成一维数组,比如形如[1, [2, [3, [4, [5]]]]]的数组转为[1,2,3,4,5]。// 来个示例数组let arr = [1, [2, [3, [4, [5]]]]];flat()方法 + InfinityJS是有提供原生处理数组扁平化的方法的,就是flat()方法,但是flat()默认是拉平一层的嵌套数组,传入数字几就拉平几层。但是在很多情况下,我们并.原创 2021-09-07 09:14:53 · 229 阅读 · 0 评论 -
一个系列带你搞定前端面试的手写代码环节(5) --- 数组去重
数组去重可太经典了,次次问,现在对于数组去重的考察不仅仅是写出一种了,而是写出你知道的所有方法,每种方法的优缺点。数组去重的概念数组去重,形如其名,把数组中重复的项去掉,应用场景非常的多。// 来个示例数组let arr = [1, 1, "1", "1", true, true, "true", {}, {}, "{}", null, null, undefined, undefined];Set集合这个方法应该是最无脑,最快速的方法了,因为Set集合的特性,它自身不允许存储重复的值,.原创 2021-09-06 15:40:59 · 235 阅读 · 0 评论 -
ES6复习宝典,你真的了解变量的解构赋值吗
昨天开头了ES6全面复习的计划,在各方面解析了一下let和const命令。今天的内容是变量的结构赋值。这是一个理解简单又很实用的技巧。基本概念ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring)。数组的解构赋值var array = [1,2,3];var a = array[0], b = array[1], c = array[2];console.log(a,b,c); // 1 2 3;在没学过解构赋值之前,我们只能用上面这.原创 2021-07-18 23:34:41 · 237 阅读 · 1 评论 -
ES6复习宝典,你真的了解let和const命令吗
ES6是近些年来JavaScript改动最大的一次,也是现在前端开发的标配,在前端的面试中100%要问的内容。我最近也是在找实习工作,准备全面的复习一遍ES6的内容ES6的第一篇内容必然是let和const。let命令在ES6之前,我们声明变量的方式通常是var,但是var是存在很多问题的。ES6之后,我们可以使用let来声明变量,下面我们以几个实际的场景说明一下let的好处以及var的坏处。产生块级作用域在使用var的时候,我们经常遇到下面这种问题。var a = [];for (var.原创 2021-07-17 23:58:25 · 265 阅读 · 1 评论