首页
AI Coding
NEW
沸点
课程
直播
活动
AI刷题
APP
插件
搜索历史
清空
创作者中心
写文章
发沸点
写笔记
写代码
草稿箱
创作灵感
查看更多
会员
登录
注册
JavaScript
阿熊
创建于2022-05-28
订阅专栏
JavaScript
等 1 人订阅
共44篇文章
创建于2022-05-28
订阅专栏
默认顺序
默认顺序
最早发布
最新发布
JS手写 reduce
个人认为 **`reduce()`** 方法是 `Array.pototype` 上所有高阶函数中,功能最为强大 其他的高阶函数能实现的功能,它都可以做到,而它能做到,其他高阶函数不一定能够做到。
JS-手写 Array.pototype.flat
**`flat()`** 方法会按照一个可指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并为一个新数组返回。
手写lodash中的get
当不确定某个对象上是否存在指定的**属性**时,每次读取该属性的值时,就需要沿着路径逐层判断。在 ?. 出现之前,如果使用lodash的get方法获取比较方便。
JS-正则表达式之具名捕获组
当使用正则表达式从字符串中提取特定信息时,通常会面临一个问题,那就是提取出来的字符串代表着什么?关于这一点,除了开发者之外,其他人员如果想要知道,难免需要联合上下文进行推导才能知道,比较浪费时间。
JS-手写 new
`new` 运算符的主要作用就是根据定义的**类**,生成相应的实例。在 `JS` 中,创建**类**有两种方式,一种通过 `function` 定义;另一种是通过 `class` 定义。
JS-手写instanceof
`JS` 中自带的 `instanceof` 方法,可以判断出右侧**构造函数**的`prototype`,是否位于左侧**对象**的**原型链**上。
JS-手写柯里化函数
函数柯里化,就是把函数的传参拆分成多次传参,每次接受参数之后,生成新的函数,该函数可以继续接受新的参数,或者返回当前函数执行后的结果。
JS-手写 compose
`compose` 翻译过来有 **组成**、**构成**的意思,而对于函数而言,`compose` 函数用于将多个函数,按照一定的顺序执行,**并且**,*前一个函数的返回值作为下一个函数的参数*。
JS-带标签的模板字符串
模板字符串是日常开发中的一大利器,帮助开发人员免去繁琐的字符串拼凑,以直观、简洁的方式动态生成了字符串。但模板字符串还有比较特殊的用法,那就是带标签的模板字符串,说白了就是作为函数的参数。
JS-怎么打印出全部字母
某个项目的需求,需要列举出全部的英文字母和数字,供用户选择使用;听上去好像挺简单的,直接手写列举出来即可。但作为程序员,是不可能这么做的,于是,有了本篇文章。
js-手写bind
`bind` 与 `call` 十分相似,不同的是,`bind` 会返回一个被改变 `this` 指向的函数,而且不会立即执行该函数,需要使用者手动调用。
JS-手写 call
手写 `call` 是一个老生常谈的话题了,但是在日常开发中,除非存在着特殊的需求,不然基本不会用上自己手写的 `call`,久而久之,也就基本忘却了,真用到时就再也想不起来了。
Promise.resolve(1).then(2).then(console.log).catch(console.log('error')) 会输出什么?
`Promise.resolve(1).then(2).then(console.log)` 的将会在浏览器打印出什么?主要是考察对 `Promise.prototype.then()` 的了解。
聊聊vue3-nextTick
一直在使用 `vue` 框架进行开发工作,心血来潮翻了翻源码,看到了 `nextTick` 的实现过程,借助本文记录下个人的理解。
JS-获取安全的随机数Crypto.getRandomValues()
`Math.random` 虽然能够满足大多数需要使用**随机数**的场景,但是不够安全,不能用于处理一些和安全有关的需求。
JS-封装函数获取数字精度、格式化数字精度
前端免不了和用户输入的数字打交道,尤其是规范用户输入数字的精度,也是经常碰到。 处理起来并不困难,但是随着使用次数的增加,不免想要将其封装成函数,需要的使用直接调用即可。
正则表达式-如何简单匹配HTML中a标签的href
通过爬虫将整个网页提取出来,然后获取的其中 a 标签中 href 属性的值,也就是获取所有链接。但是,所有链接的格式并不一致,如果在正则表达式中枚举出所有链接类型,将会有两个很明显的缺点。
JS-正则表达式匹配密码
正则表达式匹配密码可以说是最常见的需求了,虽然各个项目对于密码的要求不一,但是其实有相通的地方。比如,规定了密码的长度,密码必须包含哪些字符,不能包含哪些字符,可以包含哪些字符等等。
利用var()实现DOM元素放大缩小的方案
当用户需要控制页面**列表**上的元素大小时,怎么处理?`transform: scale();`和`zoom` 都有不同痛点。本文使用 `var()` 实现了需求,并解决以上两种方案的痛点。
[] == 0, 0 == '0', 为什么 [] != "0"?
`[] == 0` 时为 `true`,`0 == '0'`时也是为 `true`,但是,`[] == '0'`却是为 `false`。 巩固一下隐式转换的要点。
下一页