首页IT科技30个Javascript知识点总结,总有你不会的!

30个Javascript知识点总结,总有你不会的!

时间2025-04-30 11:29:56分类IT科技浏览3575
导读:近重温了一遍红宝书,发现一些比较好玩的写法,很多东西日常都在用,但是发现还会有不一样的写法,结合一些日常工作中使用的方法,为大家总结一篇日常经常使用可能还不知道的点,希望对你能有所帮助:...

近重温了一遍红宝书            ,发现一些比较好玩的写法                   ,很多东西日常都在用      ,但是发现还会有不一样的写法,结合一些日常工作中使用的方法            ,为大家总结一篇日常经常使用可能还不知道的点                   ,希望对你能有所帮助:

一行代码完成结构加赋值

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

对基础数据类型进行解构

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

const {length : a} = 1234; console.log(a) // 4
对数组解构快速拿到最后一项值

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

const arr = [1, 2, 3]; const { 0: first, length, [length - 1]: last } = arr; first; // 1 last; // 3 length; // 3
将下标转为中文零一二三...

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

export function transfromNumber(number){ const INDEX_MAP = [                   ,.....] if(!number) return if(number === 10) return INDEX_MAP[number] return [...number.toString()].reduce( (pre, cur) => pre + INDEX_MAP[cur] , ) }
判断整数的不同方法
/* 1.任何整数都会被1整除,即余数是0      。利用这个规则来判断是否是整数                  。但是对字符串不准确 */ function isInteger(obj) { return obj%1 === 0 } /* 1. 添加一个是数字的判断 */ function isInteger(obj) { return typeof obj === number && obj%1 === 0 } /* 2. 使用Math.round                  、Math.ceil             、Math.floor判断 整数取整后还是等于自己             。利用这个特性来判断是否是整数*/ function isInteger(obj) { return Math.floor(obj) === obj } /* 3. 通过parseInt判断 某些场景不准确 */ function isInteger(obj) { return parseInt(obj, 10) === obj } /* 4. 通过位运算符*/ function isInteger(obj) { return (obj | 0) === obj } /* 5.ES6提供了Number.isInteger */
通过css检测系统的主题色从而全局修改样式

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

@media (prefers-color-scheme: dark) { //... } @media (prefers-color-scheme: light) { //... }

javascript也可以轻松做到

window.addEventListener(theme-mode, event =>{ if(event.mode == dark){} if(event.mode == light){} }) window.matchMedia((prefers-color-scheme: dark)) .addEventListener(change, event => { if (event.matches) {} // dark mode })
数组随机打乱顺序

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

shuffle(arr) { return arr.sort(() => 0.5 - Math.random()). sort(() => 0.5 - Math.random()); }, function shuffle(arr) { for (let i = arr.length - 1; i > 0; i--) { const randomIndex = Math.floor(Math.random() * (i + 1)) ;[arr[i], arr[randomIndex]] = [arr[randomIndex], arr[i]] } return arr }
随机获取一个Boolean值

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

function randomBool() { return 0.5 - Math.random() }
把数组的第一项放到最后一项
function (arr){ return arr.push(arr.shift()); }
把数组最后一项移到第一项
function(arr){ return arr.unshift(arr.pop()); }

篇幅关系                   ,更多总结请参考:https://cybozudev.kf5.com/hc/community/question/34258634/?from=cnblog

声明:本站所有文章            ,如无特殊说明或标注      ,均为本站原创发布      。任何个人或组织                   ,在未征得本站同意时            ,禁止复制      、盗用                  、采集             、发布本站内容到任何网站、书籍等各类媒体平台                  。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理             。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
高防服务器租用要留意哪些细节呢(高防服务器租用要留意哪些细节) 子比主题5.2(探索新一代WordPress主题插件-子比主题插件)