blog icon indicating copy to clipboard operation
blog copied to clipboard

瓶博:每日更新,前端前进

Results 101 blog issues
Sort by recently updated
recently updated
newest added

### 引言 本文主要介绍 `var` 、 `let` 、 `const` 关键字的含义,并从 - 作用域规则 - 重复声明/重复赋值 - 变量提升(hoisted) - 暂时死区(TDZ) 四个方面对比 `var` 、 `let` 、 `const` 声明的变量差异 ## var 在 ES6 之前我们都是通过 `var`...

## 我最常用的 ES6 的特性是使用最多的,包括类、模块化、箭头函数、函数参数默认值、模板字符串、解构赋值、延展操作符、Promise、let 与 const等等,这部分已经是开发必备了,没什么好说的 另外还有: - ES7 的 `Array.prototype.includes()` - ES8 的 async/await 、String padding: `padStart()`和`padEnd()` 、 `Object.values()` - ES9 的 Rest/Spread 属性、for await of、 `Promise.finally()` - ES10...

![](http://resource.muyiy.cn/image/20200812004706.png) 以上是常见的几种排序算法,首先思考一下, `Array.prototype.sort()` 使用了上面的那种算法喃? ### Array.prototype.sort() > `sort()` 方法用[原地算法](https://en.wikipedia.org/wiki/In-place_algorithm)对数组的元素进行排序,并返回数组。默认排序顺序是在将元素转换为字符串,然后比较它们的UTF-16代码单元值序列时构建的 > > — MDN ```js const array = [1, 30, 4, 21, 100000]; array.sort(); console.log(array); // [1, 100000, 21, 30, 4]...

看一道面试题: > 已知如下数组:var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10]; > > 编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组 答案:...

什么变量保存在堆/栈中? 看到这个问题,第一反应表示很简单,基本类型保存在栈中,引用类型保存到堆中✌️✌️✌️,但仅仅就如此简单吗?我们接下来详细看一看 ### JS 数据类型 我们知道 JS 就是动态语言,因为在声明变量之前并不需要确认其数据类型,所以 **JS 的变量是没有数据类型的,值才有数据类型,变量可以随时持有任何类型的数据** 。 JS 值有 8 种数据类型: - Boolean:有 `true` 和 `false` - Undefined:没有被赋值的变量或变量被提升时的,都会有个默认值 `undefined` - Null:只有一个值 `null` - Number:数字类型 - BigInt(ES10):表示大于 ...

本题是 html 页面通信题,可以拆分成: - A 页面打开 B 页面,A、B 页面通信方式? - B 页面正常关闭,如何通知 A 页面? - B 页面意外崩溃,又该如何通知 A 页面? ### A 页面打开 B 页面,A、B 页面通信方式 据我所知,A、B 页面通信方式有: - url 传参...

### 词法环境(Lexical Environment) #### 官方定义 [官方 ES2020](https://262.ecma-international.org/11.0/) 这样定义词法环境(Lexical Environment): > A Lexical Environment is a specification type used to define the association of [Identifier](https://262.ecma-international.org/#prod-Identifier)s to specific variables and functions based...

![](http://resource.muyiy.cn/image/20210401231922.png) ### 闭包 #### 什么是闭包 闭包很简单,就是能够访问另一个函数作用域变量的函数,更简单的说,闭包就是函数,只不过是声明在其它函数内部而已。 例如: ```js function getOuter(){ var count = 0 function getCount(num){ count += num console.log(count) //访问外部的date } return getCount //外部函数返回 } var myfunc = getOuter()...

### 一、typeof `typeof` 操作符唯一的目的就是检查数据类型 | | 类型 | typeof 结果 | | ---- | --------- | ----------- | | 基本类型 | undefined | "undefined" | | | Boolean | "boolean"...

![](http://resource.muyiy.cn/image/20200810215401.jpeg) 本文将介绍一种简单易懂的方法实现网站支持暗黑模式 话不多说,我们开始吧! 👾 以以下新闻应用程序为例: ![](http://resource.muyiy.cn/image/20200810215414.png) 现在仅需增加以下一行魔法 CSS: ```css html[theme='dark-mode'] { filter: invert(1) hue-rotate(180deg); } ``` 添加后页面展示效果: ![](http://resource.muyiy.cn/image/20200810215427.png) 哇偶! 瞬间转换成暗黑模式有没有✌️ ### 解析 `filter` CSS 属性将模糊或颜色偏移等图形效果应用于元素。滤镜通常用于调整图像,背景和边框的渲染。(参考:[MDN Web文档](https://developer.mozilla.org/zh-CN/docs/Web/CSS/filter)) 对于暗黑模式,将使用两个 `filter` :`invert` 和...