JS 中的各种 for 循环

一坑未填又开一坑….

先把所有的 for 循环列出吧

阅读全文

Js数组中的 find/findIndex/some 以及 every

今天写 Demo 的时候突然在想 find()some() 的区别是什么? 都是为了找到数组中的内容啊?他们的区别在哪里呢

其实我在打这行字的时候就突然想起来区别是什么了😂,所以我把标题改了

相对于 some() 方法, 我知道 find() 方法会更加早一些,不知道为何,🤔明明 find() 方法才是更新的特性( 也许因为子龙提到的因为jQuery? )。

所以今天我们来聊一聊 find/findIndex/some 以及 every 这4个使用起来感觉差不多的方法。

阅读全文

ES6 中 Array 的 fill() 方法

fill 方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。

最近遇到的一个坑,其实也不算是坑,只是自己没有了解清楚就在用了。

以前在业务中声明数组变量时我都是使用的 var arr = [] 来声明,
这次兴起用了一次 var arr = new Array(8).fill([]) 声明并且填充内容时居然翻车了….

阅读全文

简单实现滑动滑块完成验证

偶尔会遇到PM提的需求,要加入滑动验证,但是不想使用付费的第三方验证,想就在前端实现滑块验证即可(zuò zuò yàng zi),
这一段时间遇到两次要求加滑动验证了,就整理一下构思和部分伪代码逻辑。

本例只是一个面子工程,不会牵扯到复杂的人机验证部分,所以如果需要考虑人机校验,还是推荐你选择靠谱的第三方行为验证,不要自己瞎折腾。

阅读全文

谈一谈 JavaScript 中的闭包

函数和对其周围状态(lexical environment,词法环境)的引用捆绑在一起构成闭包(closure)。也就是说,闭包可以让你从内部函数访问外部函数作用域。在 JavaScript 中,每当函数被创建,就会在函数生成时生成闭包。

先拿 MDN 上的一个简单的 🌰 来说:

1
2
3
4
5
6
7
8
function init() {
var name = "Mozilla"; // name 是一个被 init 创建的局部变量
function displayName() { // displayName() 是内部函数,一个闭包
alert(name); // 使用了父函数中声明的变量
}
displayName();
}
init();

init() 创建了一个局部变量 name 和一个名为 displayName() 的函数。
displayName() 是定义在 init() 里的内部函数(仅在 init() 函数体内可用),它没有自己的局部变量,
然而它可以访问到外部函数的变量,所以 displayName() 可以使用父函数 init() 中声明的变量 name

阅读全文

关于 ES6 Class 继承中 Constructor 的整理

今天在和小伙伴聊天时, 发现对于 ES6 中的 Class 继承的理解我其实还是只是一个模棱两可的状态, 其实也不只是 constructor 有问题其它的部分其实也有问题, 这次先写类的继承之后再看有没有其它没理解的地方

整篇文章搭配食用 阮一峰老师的 ECMAScript 6 入门 - Class的继承 更佳

Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多。

阅读全文

export { x as x } 中的 as 是什么?

今天在读一个开源框架的时候看到了一行

1
export { installer as VueAxios, service as axios };

然后我就 ? ? ?,以前一直都不知道这个 as,然后就赶紧百度,结果没有一个匹配的结果。

然后就只能从阮一峰老师的ES6入门里边找…

阅读全文

什么是 [Arguments] 隐式参数?

这段时间总是看到有人提到 arguments 隐式参数, 并且在 方方老师 的面试经中也提到了这个词,但是好像很多人不知道怎么一回事。
确实在 ES6 普及之后,有了 ... 展开运算符之后就很少有用到 arguments 了,并且我在写这篇文章之前还总是拼错单词,因为我喜欢自己定义 parameter 形参…

阅读全文

map() 和 forEach() 的区别

一直以来没有整理查阅过数组的原生方法,所以对什么时候用 map, 什么时候用 forEach 并不是很明确,完全看心情。
只是知道 map有返回值而 forEach 没有需要自己操作,所以今天准备好好梳理一下记录下来。

阅读全文

ESlint的格式化风格有很多种,选择哪一种作为自己的代码格式化风格呢?

这段时间刚刚复工,年前的我负责的一个年会大屏系统公司准备重新整理制作成为商城可售卖版本,然后又来了一个公司服务器租赁的 WebAPP 的项目,
我春节期间的外包项目也没有做完。那么给我自身 CodeReview 的时间就不够了,所以需要一个 ESLint 的通配规则来减少我编写的时候小失误,
虽然有自己的代码书写习惯,但是并没有强制要求自己,一直以来自己的 ESLint 配置仅具有错误预防功能,并没有使用一个通用的格式化风格,一直考虑的是使用 Airbnb config

趁着 CLI 在创建项目下载依赖的时间,我想选择一个规则作为我自己的以后的编码风格,
根据 CLI 给出的提示,默认可以配置的有三种:

阅读全文