23个常见的 JavaScript 函数

news2024/11/26 8:48:25

本文收集了23个日常开发中非常常用的功能,其中一些可能很复杂,另一些可能很简单,但我相信它们都会或多或少对每个人都有帮助。

01、生成随机颜色

当网站需要生成随机颜色时,我们可以通过以下代码来执行此操作。

02、数组重新排序

对数组元素重新排序是一个非常重要的技巧,但它在原生数组中不可用。

03、复制到剪贴板

复制到剪贴板是一项非常有用且用户友好的功能。

04、检测深色主题

深色主题越来越流行,很多用户会在设备上启用暗模式。我们将应用程序切换到深色主题以改善用户体验。

05、滚动到顶部

将元素滚动到顶部的最简单方法是使用 scrollIntoView。设置块开始滚动到顶部;将行为设置为平滑以启用平滑滚动。

06、滚动到底部

就像滚动到顶部一样,滚动到底部只是将块设置为结束。

07、检测元素是否在屏幕上

检查元素是否在窗口中的最佳方法是使用 IntersectionObserver。

08、检测设备

使用 navigator.userAgent 检测网站在哪个平台设备上运行。

09、隐藏元素

我们可以将元素的 style.visibility 设置为 hidden 来隐藏元素的可见性,但是,元素的空间还是会被占用。将元素的 style.display 设置为 none 将从渲染流中删除该元素。

10、从 URL 获取参数

JavaScript中有一个URL对象,可以很方便的获取URL中的参数。

11、深拷贝对象

深度复制对象非常简单。首先,将对象转换为字符串,然后将其转换为对象。

除了使用 JSON 的 API 之外,还有一个更新的结构化克隆 API,用于深度复制对象,并非所有浏览器都支持该 API。

12、等待功能

JavaScript 提供了 setTimeout 函数,但是,它没有返回 Promise 对象,所以我们不能在这个函数上使用 async,但是,我们可以封装等待函数。

13、有条件地在对象中添加属性

14、检查对象中是否存在属性

15、使用动态键破坏对象

16、循环访问对象以访问键和值

17、防止在使用可选链(?.)访问对象中不存在的任何键时抛出错误

警告⚠️:当你不确定他们的属性是否存在或不在数据中时使用可选链接。如果您确定密钥必须传入数据,并且如果没有出现,那么,最好是抛出错误而不是阻止它们。

18、检查数组中的 falsy值

19、删除数组中的重复值

20、校验值是数组类型

21、字符串到数字和数字到字符串的转换使用'+'操作符

22、当值为 null 且 undefined 时,使用空值合并 (??) 运算符有条件地分配其他值

将与 OR (||) 运算符混淆??

如果值不真实(0,'',null,undefined,false,NaN),当您想要有条件地分配其他值时使用 OR 运算符。

23、使用 !! 进行布尔转换操作符

写在最后

以上就是我今天与你分享的全部内容,如果你觉得有用的话,请记得点赞我,关注我,并将它分享给你身边的朋友,也许能够帮助到他。

最后,谢谢你的阅读,祝编程愉快!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/88994.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

文件包含漏洞包含日志文件获取Shell实战

今天继续给大家介绍渗透测试相关知识,本文主要内容是文件包含漏洞包含日志文件获取Shell实战。 免责声明: 本文所介绍的内容仅做学习交流使用,严禁利用文中技术进行非法行为,否则造成一切严重后果自负! 再次强调&#…

Vue渲染器(四):双端diff算法

渲染器(四):双端diff算法 在上一章中,我们介绍了简单diff算法的实现原理。它利用vnode的key属性,尽可能多地复用DOM,并通过移动DOM的方式来完成更新,从而减少不断地创建和销毁DOM元素带来的性能…

(python + 雷电模拟器)frida下载与安装

frida下载 我这边是用pycharm下载的 我是直接下载最新的,暂时没发现什么异常 在安装成功界面查看frida版本 此时电脑端frida下载完成。打开github,搜索到frida,点击发行版 根据你的frida版本,对url进行修改进入你需要的版本…

方格涂色(冬季每日一题 30)

给定一个 nnnnnn 的方格矩阵,最初所有方格都是白色的。 现在需要将矩阵边界上的一些方格涂成黑色,从而使得: 最上一行恰好有 UUU 个方格是黑色的。最右一列恰好有 RRR 个方格是黑色的。最下一行恰好有 DDD 个方格是黑色的。最左一列恰好有 …

Android入门第47天-Fragment的基本使用

简介 我们的Android入门一步步已经进入中级。我们讲完了所有的基本组件的基本使用、Activity、Service、BroadCast。今天我们来到了Fragment篇章。Fragment和Activity比到底是一个什么样的存在呢?我们以一个很小的例子来说通Fragment。 Fragment是什么 Fragment可…

智能家居DIY系列之智能灯泡

一、什么是智能灯 传统的灯泡是通过手动打开和关闭开关来工作。有时,它们可以通过声控、触控、红外等方式进行控制,或者带有调光开关,让用户调暗或调亮灯光。 智能灯泡内置有芯片和通信模块,可与手机、家庭智能助手、或其他智能…

浅析JWT Attack

前言 在2022祥云杯时遇到有关JWT的题,当时没有思路,对JWT进行学习后来对此进行简单总结,希望能对正在学习JWT的师傅们有所帮助。 JWT JWT,即JSON WEB TOKEN,它是一种用于通信双方之间传递安全信息的简洁的、URL安全…

创新研发负载分担机制,天翼云IPv6网络带宽再升级!

网络作为社会信息化的基础,已成为人们日常生活不可或缺的一部分。网络通过模拟信号将信息转为电流进行传播,在这个过程中,网卡便充当了解码器的作用,能够将电信号转换为计算机能够识别的数字信号。 网卡,即网络接口卡&…

关于LabVIEW大作业/课设/论文的写作框架整理(主体三部曲)

文章目录 一、前言二、写作框架2.1 介绍函数以及工具箱2.2 介绍相关原理2.3 系统设计和案例演示三、总结一、前言 因为在Labview临近要交大作业,发现自己根本不会写,程序等的已经准备好了,但是对于写作一直不知道查了查知网文章,让我有了个大概了解,在此帖出来,希望能帮…

1569_AURIX_TC275_电源管理与系统控制单元

全部学习汇总: GreyZhang/g_TC275: happy hacking for TC275! (github.com) 之前看了不少类似的寄存器信息,总体来说阅读价值不是很大,查询的价值多一些。如果是进行编码,这样的寄存器信息需要查一下,在功能了解的时候…

java面试强基(22)

为什么要使用多线程呢? 先从总体上来说: 从计算机底层来说: 线程可以比作是轻量级的进程,是程序执行的最小单位,线程间的切换和调度的成本远远小于进程。另外,多核 CPU 时代意味着多个线程可以同时运行,这减少了线程…

漏洞丨实例分析cve2012-0158

作者:黑蛋 作者:黑蛋 一、漏洞简介 CVE-2012-0158是一个office栈溢出漏洞,Microsoft Office 2003 sp3是2007年9月18日由微软公司创作的一个办公软件,他的MSCOMCTL.ocx中的MSCOMCTL.ListView控件检查失误,由于读取长…

MySQL数据库Linux系统安装tar包

MySQL数据库Linux系统安装tar包 使用的远程工具是mabaxterm,使用此工具连接linux服务器, 第一步先把mysql安装包拖到远程工具的目录里:/usr/local 第二步:cd到local目录下解压数据库mysql 命令: cd …/usr/local 解压数据库masq…

endo BCN-PEG4-COOH,1881221-47-1,endo BCN-四聚乙二醇-羧酸特点分享

●外观以及性质: endo BCN-PEG4-acid含有BCN基团和羧酸基团,酸基团可以在偶联条件下与胺反应形成酰胺键。BCN基团可以发生点击化学反应。 【产品理化指标】: ●中文名:endo BCN-四聚乙二醇-羧酸 ●英文名:endo BCN-P…

APS智能排产帮助LNG船舶生产厂家充分利用产能,提升生产效益

前一段时间,由于欧洲各国集中储备天然气准备过冬,引发全球对LNG船舶,也就是液化天然气运输船的需求持续增加。一艘LNG船单日租金成本已跃升至近40万美元(约合人民币283万元),同比增长340%以上,一…

测试面试 | 某 BAT 大厂测试开发面试真题与重点解析

image1080677 64.8 KB 本文作者 J2W 为霍格沃兹测试学院《测试开发实战进阶》班优秀学员,4 个多月从初出茅庐、勉勉强强的初级测试开发快速成长,成功拿下某 BAT 大厂中级测试开发岗位 Offer,并获得学院奖学金。助教老师对其一致评价是「学习非…

程序人生:自学上岸自动化测试薪资20K,我的经验值得想进阶的朋友借鉴...

经常有人问过这样一个问题:‘’自动化测试是真的这么厉害吗?如何从零成为自动化测试工程师?” 我之前写过这样一篇文章【从功能测试进阶自动化测试,熬夜7天整理出这一份超全学习指南【附网盘资源】】 厉害不厉害在于你有没有扎实…

java-爬虫-es

文章目录1.数据来源:数据库、mq、爬虫2.爬虫:获取想要的页面数据1.导入依赖2.爬取核心部分编码3.测试解析成功4.封装对象5.引入es配置类6.将HtmlParseUtil注册到spring7.爬取的数据入es库8.空白文件初始化vue文献:https://www.kuangstudy.com…

Java程序员的技术进阶成长路线

据不完全统计,截至目前(2017.07)为止,中国Java程序员的数量已经超过了100万。而且,随着IT培训业的持续发展和大量的应届毕业生进入社会,Java程序员面临的竞争压力越来越大。那么,作为一名Java初级程序员,怎…

【财务】FMS财务管理系统:礼品卡管理

本文总结了FMS财务管理系统中的礼品卡管理,以及如何根据不同类型卡的流程和管理,进行相应的账务处理。 目前在各大电子商务网站或APP购买商品时,在支付时有很多网站都可以使用礼品卡,对于礼品卡的管理也是公司及财务部重点关注的&…