13個(gè)Javascript 技巧和優(yōu)秀實(shí)踐
JavaScript 是最常用的編程語(yǔ)言之一,同時(shí)有數(shù)據(jù)顯示,它世界上十大最受歡迎的編碼語(yǔ)言之一。
當(dāng)然,在前端領(lǐng)域里,JavaScript 是我們?nèi)粘I钪胁豢苫蛉钡囊徊糠?,它與 HTML 和 CSS 被為前端開(kāi)發(fā)里的新三劍客,我們?cè)L問(wèn)的任何網(wǎng)站都有它們的身影,當(dāng)然,它們都各種有自己的特定的用途。
所以說(shuō),JavaScript 無(wú)處不在,學(xué)習(xí)JavaScript也是每前端人必須要過(guò)的一關(guān)。
JavaScript 功能強(qiáng)大且靈活,它允許我們以任何我們喜歡的方式編寫(xiě)代碼,并嘗試一些非常不尋常的事情,這些事情可能會(huì)導(dǎo)致代碼中的錯(cuò)誤。
今天,我就想跟你分享一些,我在學(xué)習(xí) JavaScript 編碼的一些好用的技巧,希望對(duì)你用。
1、使用正確的變量名
使用特定的命名約定,主要使用駝峰命名約定。
變量名稱應(yīng)簡(jiǎn)潔且具有描述性。
2、小心使用松散相等運(yùn)算符進(jìn)行比較
如果需要,松散相等運(yùn)算符 (== OR !=) 在比較之前執(zhí)行自動(dòng)類(lèi)型轉(zhuǎn)換。
就像上面的例子一樣,你可以使用松散等式運(yùn)算符得到意想不到的輸出。
3、檢查屬性是否存在于對(duì)象中
in 運(yùn)算符返回布爾值 true/false。
如果對(duì)象或其原型鏈中存在屬性,則 in 運(yùn)算符返回 true。
4、使用加號(hào) (+) 運(yùn)算符將字符串轉(zhuǎn)為數(shù)字
一元加號(hào)運(yùn)算符 (+) 是將某些內(nèi)容轉(zhuǎn)換為數(shù)字的最快和首選方法。
5、使用 slice 和 padStart 掩碼數(shù)字
slice() 方法將數(shù)組中的選定元素作為新數(shù)組返回,負(fù)數(shù)從數(shù)組的末尾選擇。
padStart() 方法用另一個(gè)字符串填充當(dāng)前字符串,直到結(jié)果字符串達(dá)到給定長(zhǎng)度。從當(dāng)前字符串的開(kāi)頭應(yīng)用填充。
可以用更少的代碼進(jìn)行屏蔽。
6、使用console.log改進(jìn)變量日志
在 JavaScript 中,我們使用 console.log() 來(lái)記錄變量或消息。當(dāng)變量日志太多時(shí),有時(shí)很難理解控制臺(tái)中的日志對(duì)應(yīng)的變量是什么。
要記錄變量,請(qǐng)將變量包裝到一對(duì)大括號(hào) {variable-name} 中,提高可讀性。
7、交換兩個(gè)變量的簡(jiǎn)單方法
使用解構(gòu)賦值方法,因?yàn)樗?jiǎn)短且富有表現(xiàn)力,僅在一行語(yǔ)句中執(zhí)行。它適用于任何數(shù)據(jù)類(lèi)型,如數(shù)字、字符串、布爾值或?qū)ο蟆?/p>
8、使用 Array.every 測(cè)試數(shù)組的每個(gè)元素
Array every() 方法檢查是否所有數(shù)組元素都通過(guò)了提供的函數(shù)實(shí)現(xiàn)的測(cè)試。
如果函數(shù)對(duì)所有元素都返回 true,則最終返回 true。
如果函數(shù)對(duì)一個(gè)元素返回 false,則返回 false。當(dāng) every() 發(fā)現(xiàn)錯(cuò)誤結(jié)果時(shí),它將停止循環(huán)并不再繼續(xù),從而提高性能。
every() 方法不會(huì)更改原始數(shù)組。
9、使用帶數(shù)字的空值合并運(yùn)算符
Nullish 值是 null 或未定義的值。
Nullish Coalescing Operator (??) 是一個(gè)邏輯運(yùn)算符,它接受兩個(gè)值,如果第一個(gè)值為 null 或未定義則返回第二個(gè)值,否則返回第一個(gè)值。
10、平滑滾動(dòng)到特定元素
Element.scrollIntoView() 方法將指定元素滾動(dòng)到窗口的查看部分。
它提供了平滑滾動(dòng)的行為選項(xiàng)。
11、JSON.stringify 替換參數(shù)的威力
JSON.stringify() 方法將 JavaScript 對(duì)象轉(zhuǎn)換為 JSON 字符串。
JSON.stringify() 的第二個(gè)參數(shù)是替換器或過(guò)濾器,可以是函數(shù)或數(shù)組。
當(dāng)?shù)诙€(gè)參數(shù)作為替換函數(shù)傳遞時(shí),它會(huì)改變字符串化過(guò)程的行為。作為一個(gè)函數(shù),它有兩個(gè)參數(shù),鍵和值被字符串化。
12、有條件地為對(duì)象添加屬性
使用擴(kuò)展運(yùn)算符 (...) 有條件地將一個(gè)對(duì)象擴(kuò)展為另一個(gè)對(duì)象。
將條件與 && 運(yùn)算符一起使用以向?qū)ο筇砑有聦傩浴H绻麠l件匹配,它將向?qū)ο筇砑訉傩浴?/p>
13、使用虛假保鏢
假值是當(dāng)作為布爾值檢查時(shí)被認(rèn)為是假的值。
Falsy Bouncer 意味著從數(shù)組中刪除所有虛假值。
JavaScript 中的虛假值是 false、null、0、undefined、NaN 和“”(空字符串)。
將布爾值作為第一個(gè)參數(shù)傳遞給 Array.filter,它將作為一個(gè)虛假的保鏢。
總結(jié)
以上就是我今天跟你分享的13個(gè)關(guān)于JavaScript的技巧,不知道你學(xué)到了沒(méi)有?如果沒(méi)有的話,那就多看幾遍。
這些都是我在日常學(xué)習(xí)開(kāi)發(fā)中總結(jié)下來(lái)的一些技巧和實(shí)踐經(jīng)驗(yàn),利用這些技巧可以幫助我們提升工作效率和提升代碼的可讀性。