分享

30 个常用 JavaScript 知识点总结,你都会吗?

 风声之家 2023-03-27 发布于江苏

一行代码完成结构加赋值

我们日常经常使用结构赋值,一般都是先结构,再赋值,当然我们也可以一行就完成解构加赋值操作,看起来非常简化,当然可读性你懂得!






对基础数据类型进行解构

日常中我们应该用不到这样的场景,但是实际上我们也可以对基础数据类型解构



对数组解构快速拿到最后一项值

实际上我们是可以对数组解构赋值拿到length属性的,通过这个特性也可以做更多的事情。






将下标转为中文零一二三...

日常可能有的列表我们需要将对应的012345转为中文的一、二、三、四、五...,在老的项目看到还有通过自己手动定义很多行这样的写法,于是写了一个这样的方法转换







判断整数的不同方法

























通过css检测系统的主题色从而全局修改样式

@media的属性prefers-color-scheme就可以知道当前的系统主题,当然使用前需要查查兼容性



javascript也可以轻松做到









数组随机打乱顺序

通过0.5-Math.random()得到一个随机数,再通过两次sort排序打乱的更彻底,但是这个方法实际上并不够随机,如果是企业级运用,建议使用第二种洗牌算法











随机获取一个Boolean值

和上个原理相同,通过随机数获取,Math.random()的区间是0-0.99,用0.5在中间百分之五十的概率




把数组最后一项移到第一项




把数组的第一项放到最后一项




利用set数组去重




dom节点平滑滚动到可是区域,顶部,底部

原生的scrollTo方法没有动画,类似于锚点跳转,比较生硬,可以通过这个方法会自带平滑的过度效果






获取随机颜色

日常我们经常会需要获取一个随机颜色,通过随机数即可完成




检测是否为空对象

通过使用Es6的Reflect静态方法判断他的长度就可以判断是否是空数组了,也可以通过Object.keys()来判断




Boolean转换

一些场景下我们会将boolean值定义为场景,但是在js中非空的字符串都会被认为是true








各种数组克隆方法

数组克隆的方法其实特别多了,看看有没有你没见过的!








比较两个时间大小

通过调用getTime获取时间戳比较就可以了




计算两个时间之间的月份差异




一步从时间中提取年月日时分秒

时间格式化轻松解决,一步获取到年月日时分秒毫秒,由于toISOString会丢失时区,导致时间差八小时,所以在格式化之前我们加上八个小时时间即可






判断一个参数是不是函数

有时候我们的方法需要传入一个函数回调,但是需要检测其类型,我们可以通过Object的原型方法去检测,当然这个方法可以准确检测任何类型。




计算两个坐标之间的距离




检测两个dom节点是否覆盖重叠

有些场景下我们需要判断dom是否发生碰撞了或者重叠了,我们可以通过getBoundingClientRect获取到dom的x1,y1,x2,y2坐标然后进行坐标比对即可判断出来




判断是否是NodeJs环境

前端的日常开发是离不开nodeJs的,通过判断全局环境来检测是否是nodeJs环境




参数求和

之前看到有通过函数柯理化形式来求和的,通过reduce一行即可

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多