首页 > 编程语言 >分享 29个超有用的 JavaScript 单行代码(下)

分享 29个超有用的 JavaScript 单行代码(下)

时间:2023-03-01 10:48:19浏览次数:106  
标签:const 代码 JavaScript 29 单行 分享

分享 29个超有用的 JavaScript 单行代码(下)

原创2023-02-03 21:19·前端达人

大家好,在上一篇文章《分享29个超有用的 JavaScript 单行代码(上)》分享了日期、字符串、数字、数组相关的单行代码,今天继续分享工具函数这最后一部分,共 13 个代码片段。

17、温度转换为华氏度

华氏度(Fahrenheit scale),是指用来计量温度的单位,符号℉。华氏度 = 32+ 摄氏度× 1.8。

 

18、转换为摄氏度

const toCelsius=  (fahrenheit) => (fahrenheit- 32) * 5 / 9;

 

19、如何清除浏览器中的所有 cookie

const clearAllCookies = () => document.cookie.split(';')
.forEach((c) => (document.cookie = c.replace(/^ +/, '')
                .replace(/=.*/, `=;expires=${new Date().toUTCString()};
                path=/`)));

20、如何从 HEX 转换为 RGB 色值

const toRGB= (hex) =>
    hex
        .replace(/^#?([a-f\d])([a-f\d])([a-f\d])$/i, 
                 (_, r, g, b) => `#${r}${r}${g}${g}${b}${b}`)
        .substring(1)
        .match(/.{2}/g)
        .map((x) => parseInt(x, 16));

 

21、如何将 RGB 转换为 HEX

const toHEX = (r,g,b) => 
"#" + ((1 << 24) + (r << 16) + (g << 8) + b).toString(16).slice(1);

 

22、检查函数是否为异步函数

const isAsyncFunction = (f) => 
Object.prototype.toString.call(f) === '[object AsyncFunction]';

 

23、如何确认代码是否在浏览器中运行

const runningInBrowser = typeof window === 'object' 
&& typeof document === 'object';

 

24、如何确认代码是否在 Node 中运行

const runningInNode= typeof process !== 'undefined' 
&& process.versions != null 
&& process.versions.node != null;

 

25、检测系统是否是暗模式

这是一种非常方便的方法来检查用户是否在其浏览器上启用了黑暗模式。

const isDarkMode = () =>  
window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)")
.matches;

 

26、滚动到顶部

滚动元素的一种单行方法是使用 <scrollIntoView> 方法。


const toTop = (element) =>
  element.scrollIntoView({ behavior: "smooth", block: "start" });

27、滚动到底部

const toBottom = (element) =>
  element.scrollIntoView({ behavior: "smooth", block: "end" });

28、将 JSON 转换为 MAP

这个函数可以让我们以简单的方式将 JSON 字符串 转换成 Map 对象。

const jsonToMap = (json) => 
new Map(Object.entries(JSON.parse(json)));

 

29、生成 128 位 UUID

此函数允许我们生成具有 128 位的 UUID,用于唯一标识对象或实体。

const generateUUID = (a) => a?
      (a ^ ((Math.random() * 16) >> (a / 4))).toString(16):
([1e7] + -1e3 + -4e3 + -8e3 + -1e11)
.replace(/[018]/g,generateUUID);

 

结束

到这里,29个单行代码片段就介绍完了,你可能已经对单行代码有了自己的看法。对我来说,一行代码(JavaScript、Linux……)解决问题的一种紧凑而优雅的方法,但我们也必须注意解决方案不要太难读。

今天先分享到这里,希望今天的分享对你有所帮助,感谢你的阅读,如果你喜欢我的分享,别忘了点赞转发,让更多的人看到,最后别忘记点个关注,你的支持将是我分享最大的动力,后续我会持续输出更多内容,敬请期待。

原文:

https://medium.com/codex/30-super-useful-javascript-one-liners-98c8cd8d53da

作者:Kesk -*-

非直接翻译,有自行改编和添加部分。

标签:const,代码,JavaScript,29,单行,分享
From: https://www.cnblogs.com/sexintercourse/p/17167232.html

相关文章

  • 分享29个超有用的 JavaScript 单行代码(上)
    分享29个超有用的JavaScript单行代码(上)原创2023-02-0320:13·前端达人在这篇文章中,我列出了一系列29个JavaScript单行代码,它们在使用原生JS(≥ES6)进行开发时非常......
  • 7 个 高效的 JavaScript 库,总有一个适合你
    7个高效的JavaScript库,总有一个适合你原创2023-02-1409:45·前端达人转载说明:原创不易,未经授权,谢绝任何形式的转载当我们可以通过使用库轻松实现相同的结果时,为......
  • 给外联样式表和JavaScript脚本增加版本号的方法
    方法和问题方法一:前端使用JQuery的方法增加版本号方法二:前端使用JavaScript来增加版本号方法三:后端代码加载方法一:前端使用JQuery的方法增加版本号先上代码<scri......
  • 基本功练习_2_29_之(易失变量,中断,异常)
    易失变量:volatile:(嵌入式程序员必须掌握的)volatile最初的意思是表示汽油容易挥发,在c中的作用大概有两点(1)表示变量是易失的,易变的.(2)强制访存操作,防止编译器去优化,告诉......
  • FPGA和CPLD使用时的区别 2012_7_29
    FPGA是现场可编程逻辑门阵列的简称,是电子设计的一个里程碑。CPLD是复杂可变成逻辑器件的简称。尽管FPGA和CPLD都是可编程ASIC器件,有很多共同特点,但由于CPLD和FPGA结构上的......
  • argument keyword in JavaScript Functions
    argument是一个所有(非箭头)函数都有的对象,它是一个类似数组的对象(但它不是Array)详见:https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Functions/argum......
  • JavaScript中单例模式这样用
    如果希望自己的代码更优雅、可维护性更高以及更简洁,往往离不开设计模式这一解决方案。在JS设计模式中,最核心的思想:封装变化(将变与不变分离,确保变化的部分灵活,不变的部分......
  • javascript之正则表达式验证email
    1<!DOCTYPEhtml>2<htmllang="en">34<head>5<metacharset="UTF-8">6<metahttp-equiv="X-UA-Compatible"content="IE=edge">7......
  • xr32f429开发环境搭建
    XR32是全志科技的一款MCU芯片,基本参数如下所示:  环境的搭建首先是下载芯片对应的资料和手册(QQ群723687715)软硬件资料官网工具下载:注册全志服务平台    下......
  • JavaScript文件夹上传解决方案
    ​ 项目描述工具类包封装了一些关于分片md5验证、断点续传、分片上传、等方法前端样例使用百度插件WebUploader,插件的源码还是有一定的问题的分片上传是需要前后......