分享一些不常見卻很實(shí)用的JS技巧
前言
編程語(yǔ)言通常暗藏著各種技巧,熟練使用這些技巧可以提高開發(fā)效率。JavaScript 就是一門技巧性很強(qiáng)的語(yǔ)言,掌握常見的語(yǔ)法技巧不但可以加深對(duì)語(yǔ)言特性的理解,還可以簡(jiǎn)化代碼,提高編碼效率。
下面是列出一些 JavaScript 有用的技巧,相信總有一天會(huì)對(duì)你有所幫助。
1、數(shù)組去重
const numbers = [1, 2, 3, 4, 4, 1] console.log([...new Set(numbers)]) // [1, 2, 3, 4]
2、從數(shù)組中過濾所有虛值
const myArray = [1, undefined, null, 2, NaN, true, false, 3] console.log(myArray.filter(Boolean)) // [1, 2, true, 3]
3、將字符串轉(zhuǎn)換為數(shù)字
const str = '123' const num = +str console.log(typeof num) // number
4、將數(shù)字轉(zhuǎn)換為字符串
const num = 123; console.log(num + ''); // '123'
5、使用 && 符號(hào)簡(jiǎn)寫條件判斷語(yǔ)句
// 普通寫法
if (condition) {
doSomething()
}
// 簡(jiǎn)寫
condition && doSomething()
6、console.table() 打印特定格式的表格
// [] 里面指的是可選參數(shù)\ console.table(data [, columns]);
參數(shù):
- data 表示要顯示的數(shù)據(jù)。必須是數(shù)組或?qū)ο蟆?/li>
- columns 表示一個(gè)包含列的名稱的數(shù)組。
實(shí)例:
function Goods(name, price) {
this.name = name
this.price = price
}
const book = new Goods("《webpack 入門到放棄》", "¥ 9.00")
const knowledge = new Goods("《前端的自我修養(yǎng)》", "¥ 99.00")
const ebook = new Goods("《node.js 課程》", "¥ 199.00")
console.table([book, knowledge, ebook], ["name", "price"])
打印結(jié)果:

7、如果你想添加一個(gè)事件監(jiān)聽器并且只運(yùn)行一次,你可以使用 once 選項(xiàng):
element.addEventListener('click', () => console.log('I run only once'), {
once: true
});
8、為了提高數(shù)字的可讀性,您可以使用下劃線作為分隔符:
const num = 2_000_000_000 console.log(num) // 2000000000
9、使用 dataset 屬性訪問元素的自定義數(shù)據(jù)屬性 (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>
總結(jié)
到此這篇關(guān)于實(shí)用JS技巧的文章就介紹到這了,更多相關(guān)實(shí)用的JS技巧內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
JavaScript創(chuàng)建對(duì)象的幾種方式及關(guān)于this指向問題
這篇文章主要介紹了JavaScript創(chuàng)建對(duì)象的幾種方式及關(guān)于this指向問題,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值。需要的小伙伴可以參考一下2022-07-07
uniapp中使用videojs構(gòu)建H5直播播放器
這篇文章主要為大家介紹了uniapp中使用videojs構(gòu)建H5直播播放器實(shí)現(xiàn)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
JavaScript實(shí)現(xiàn)加載導(dǎo)出CZML文件詳解
CZML是一種基于?JSON?的文件格式,用于描述地理空間數(shù)據(jù)和時(shí)間動(dòng)態(tài)場(chǎng)景,這篇文章為大家詳細(xì)介紹了如何使用JavaScript實(shí)現(xiàn)CZML文件的加載與導(dǎo)出,需要的可以了解下2025-02-02
js中判斷變量類型函數(shù)typeof的用法總結(jié)
下面小編就為大家?guī)?lái)一篇js中判斷變量類型函數(shù)typeof的用法總結(jié)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-08-08
window.print()前端實(shí)現(xiàn)網(wǎng)頁(yè)打印功能詳解
JavaScript 函數(shù)window.print()可用于打印你的應(yīng)用的內(nèi)容,但是它針對(duì)的是使用默認(rèn)打印體驗(yàn)打印顯示在屏幕上的內(nèi)容,這篇文章主要給大家介紹了關(guān)于window.print()前端實(shí)現(xiàn)網(wǎng)頁(yè)打印功能的相關(guān)資料,需要的朋友可以參考下2024-04-04
swiper4實(shí)現(xiàn)移動(dòng)端導(dǎo)航切換
這篇文章主要為大家詳細(xì)介紹了swiper4實(shí)現(xiàn)移動(dòng)端導(dǎo)航切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-09-09

