不为人知的 JavaScript 技巧

返回

2. 数字分隔符


为了提高数字的可读性,您可以使用下划线作为分隔符:

const largeNumber = 1_000_000_000;

console.log(largeNumber); // 1000000000

3. 事件监听器只运行一次


如果你想添加一个事件监听器并且只运行一次,你可以使用 once 选项:

element.addEventListener(‘click’, () => console.log(‘I run only once’), {

once: true

});

4. console.log 变量包装


您在 console.log() 的时候,将参数用大括号括起来,这样可以同时看到变量名和变量值。eccd5d48125d46d7b3d4e4fad2ccf744.png

5. 从数组中获取最小值/最大值


您可以使用 Math.min()Math.max() 结合扩展运算符来查找数组中的最小值或最大值。

const numbers = [6, 8, 1, 3, 9];

console.log(Math.max(…numbers)); // 9

console.log(Math.min(…numbers)); // 1

6. 检查 Caps Lock 是否打开


您可以使用 KeyboardEvent.getModifierState() 来检测是否 Caps Lock 打开。

const passwordInput = document.getElementById(‘password’);

passwordInput.addEventListener(‘keyup’, function (event) {

if (event.getModifierState(‘CapsLock’)) {

// CapsLock 已经打开了

}

});

7. 复制到剪贴板


您可以使用 Clipboard API 创建“复制到剪贴板”功能:

function copyToClipboard(text) {

navigator.clipboard.writeText(text);

}

8. 获取鼠标位置


您可以使用 MouseEvent 对象下 clientX 和 clientY 的属性值,获取鼠标的当前位置坐标信息。

document.addEventListener(‘mousemove’, (e) => {

console.log(Mouse X: ${e.clientX}, Mouse Y: ${e.clientY});

});

9. 缩短数组


您可以设置 length 属性来缩短数组。

const numbers = [1, 2, 3, 4, 5]

numbers.length = 3;

console.log(numbers); // [1, 2, 3]

10. 简写条件判断语句


如果仅在判断条件为 true 时才执行函数,则可以使用 && 简写。

// 普通写法

if (condition) {

doSomething();

}

// 简写

condition && doSomething();

11. console.table() 打印特定格式的表格


语法:

// [] 里面指的是可选参数

console.table(data [, columns]);

参数:

  • data 表示要显示的数据。必须是数组或对象。

  • columns 表示一个包含列的名称的数组。

实例:

// 一个对象数组,只打印 firstName

function Person(firstName, lastName) {

this.firstName = firstName;

this.lastName = lastName;

}

const john = new Person(“John”, “Smith”);

const jane = new Person(“Jane”, “Doe”);

const emily = new Person(“Emily”, “Jones”);

console.table([john, jane, emily], [“firstName”]);

打印结果如下图:dd13403d22cd9b3c4a9be1ab3f68295f.png

12. 数组去重


const numbers = [2, 3, 4, 4, 2];

console.log([…new Set(numbers)]); // [2, 3, 4]

13. 将字符串转换为数字


const str = ‘404’;

console.log(+str) // 404;

14. 将数字转换为字符串


连接空字符串。

const myNumber = 403;

console.log(myNumber + ‘’); // ‘403’

15. 从数组中过滤所有虚值


const myArray = [1, undefined, NaN, 2, null, ‘@denicmarko’, true, 3, false];

console.log(myArray.filter(Boolean)); // [1, 2, “@denicmarko”, true, 3]

16. 妙用 includes


最后

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。

因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
Fh-1715804617460)]

[外链图片转存中…(img-KYoKYAOj-1715804617460)]

[外链图片转存中…(img-2oaAsk1M-1715804617461)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点!不论你是刚入门Android开发的新手,还是希望在技术上不断提升的资深开发者,这些资料都将为你打开新的学习之门!

如果你觉得这些内容对你有帮助,需要这份全套学习资料的朋友可以戳我获取!!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

  • 29
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值