分享一些不常见却很实用的JS技巧 前言 编程语言通常暗藏着各种技巧,熟练使用这些技巧可以提高开发效率.JavaScript 就是一门技巧性很强的语言,掌握常见的语法技巧不但可以加深对语言特性的理解,还可以简化代码,提高编码效率. 下面是列出一些
前言
编程语言通常暗藏着各种技巧,熟练使用这些技巧可以提高开发效率。JavaScript 就是一门技巧性很强的语言,掌握常见的语法技巧不但可以加深对语言特性的理解,还可以简化代码,提高编码效率。
下面是列出一些 JavaScript 有用的技巧,相信总有一天会对你有所帮助。
1、数组去重
const numbers = [1, 2, 3, 4, 4, 1]
console.log([...new Set(numbers)]) // [1, 2, 3, 4]
2、从数组中过滤所有虚值
const myArray = [1, undefined, null, 2, NaN, true, false, 3]
console.log(myArray.filter(Boolean)) // [1, 2, true, 3]
3、将字符串转换为数字
const str = '123'
const num = +str
console.log(typeof num) // number
4、将数字转换为字符串
const num = 123;
console.log(num + ''); // '123'
5、使用 && 符号简写条件判断语句
// 普通写法
if (condition) {
doSomething()
}
// 简写
condition && doSomething()
6、console.table() 打印特定格式的表格
// [] 里面指的是可选参数\
console.table(data [, columns]);
参数:
- data 表示要显示的数据。必须是数组或对象。
- columns 表示一个包含列的名称的数组。
实例:
function Goods(name, price) {
this.name = name
this.price = price
}
const book = new Goods("《webpack 入门到放弃》", "¥ 9.00")
const knowledge = new Goods("《前端的自我修养》", "¥ 99.00")
const ebook = new Goods("《node.js 课程》", "¥ 199.00")
console.table([book, knowledge, ebook], ["name", "price"])
打印结果:
7、如果你想添加一个事件监听器并且只运行一次,你可以使用 once 选项:
element.addEventListener('click', () => console.log('I run only once'), {
once: true
});
8、为了提高数字的可读性,您可以使用下划线作为分隔符:
const num = 2_000_000_000
console.log(num) // 2000000000
9、使用 dataset 属性访问元素的自定义数据属性 (data-*):
<div id="card" data-name="FE" data-number="5" data-label="listCard">
卡片信息
</div>
<script>
const el = document.getElementById('card')
console.log(el.dataset)
// { name: "FE", number: "5", label: "listCard" }
console.log(el.dataset.name) // "FE"
console.log(el.dataset.number) // "5"
console.log(el.dataset.label) // "listCard"
</script>
总结
到此这篇关于实用JS技巧的文章就介绍到这了,更多相关实用的JS技巧内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
沃梦达教程
本文标题为:分享一些不常见却很实用的JS技巧
基础教程推荐
猜你喜欢
- 自定义 XMLHttpRequest.prototype.open 2022-01-01
- 直接将值设置为滑块 2022-01-01
- html表格如何通过更改悬停边框来突出显示列? 2022-01-01
- Chart.js 在线性图表上拖动点 2022-01-01
- 我可以在浏览器中与Babel一起使用ES模块,而不捆绑我的代码吗? 2022-01-01
- 如何使用JIT在顺风css中使用布局变体? 2022-01-01
- 如何使用TypeScrip将固定承诺数组中的项设置为可选 2022-01-01
- Electron 将 Node.js 和 Chromium 上下文结合起来意味着 2022-01-01
- Vue 3 – <过渡>渲染不能动画的非元素根节点 2022-01-01
- 用于 Twitter 小部件宽度的 HTML/CSS 2022-01-01