大多數教程中都找不到的JavaScript技巧 - markodenic
Javascript是一種指令碼語言,使您能夠建立動態更新的內容,控制多媒體,動畫影像等等。
1.使用history.back()創造了“返回”按鈕:
<button onclick="history.back()"> Go back </button> |
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({變數名})
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.使用KeyboardEvent.getModifierState()來檢測是否Caps Lock開啟。
const passwordInput = document.getElementById('password'); passwordInput.addEventListener('keyup', function (event) { if (event.getModifierState('CapsLock')) { // CapsLock is on. } }); |
7.可以使用ClipboardAPI建立“複製到剪貼簿”功能:
function copyToClipboard(text) { navigator.clipboard.writeText(text); } |
8.使用MouseEventclientX和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.如果僅在條件為真時才必須執行功能,則可以使用短路short-circuit。
//If you have to execute a function only if the condition is true: if (condition) { doSomething(); } // You can use short-circuit: condition && doSomething(); |
11.從陣列中刪除重複的元素:
const numbers = [2, 3, 4, 4, 2]; console.log([...new Set(numbers)]); // [2, 3, 4] |
12.將字串轉換為數字:
const str = '404'; console.log(+str) // 404; |
13.將數字轉換為字串
const myNumber = 403; console.log(myNumber + ''); // '403' |
14.DRY:不要重複自己。
const myTech = 'JavaScript'; const techs = ['HTML', 'CSS', 'JavaScript']; // Instead of: if (myTech === 'HTML' || myTech === 'CSS' || myTech === 'JavaScript') { // do something } // You can: if (techs.includes(myTech)) { // do something } |
15.可以使用`reduce`方法來計算陣列中所有元素的總和:
const myArray = [10, 20, 30, 40]; const reducer = (total, currentValue) => total + currentValue; console.log(myArray.reduce(reducer)); // 100 |
相關文章
- 《沉默的大多數》總結
- 11個教程中不常被提及的JavaScript小技巧JavaScript
- JavaScript Promise 的使用技巧JavaScriptPromise
- 程式設計師在直播app原始碼的開發過程中都有哪些技巧?程式設計師APP原始碼
- JavaScript?小技巧JavaScript
- JavaScript小技巧JavaScript
- 常用JavaScript的高階技巧JavaScript
- 好程式設計師Web前端教程分享JavaScript開發技巧程式設計師Web前端JavaScript
- 邊緣計算是大多數行業的未來行業
- 程式設計技巧│提高 Javascript 程式碼效率的技巧程式設計JavaScript
- 10個很棒的 JavaScript 字串技巧JavaScript字串
- JavaScript 高階技巧JavaScript
- VSCODE 找不到變數VSCode變數
- 【LeetCode-陣列】查詢大多數元素LeetCode陣列
- JavaScript 系列--JavaScript一些奇淫技巧的實現方法(三)數字取整,陣列求和JavaScript陣列
- 過於“直白”的《大多數》,其實並未想讓無數玩家“破防”
- 智慧數字沙盤應用在展館中都具備哪些功能
- 好程式設計師JavaScript教程分享JavaScript中變數和作用域程式設計師JavaScript變數
- JavaScript常用的簡潔高階技巧JavaScript
- 9 個強大的 JavaScript 小技巧JavaScript
- 常用的一些javascript小技巧JavaScript
- 【譯】分享7個好用的JavaScript技巧JavaScript
- JavaScript 中 JSON 的 5 個小技巧?JavaScriptJSON
- JavaScript 函數語言程式設計技巧 - 反柯里化JavaScript函數程式設計
- JavaScript 反除錯技巧JavaScript除錯
- 大多數人開始選擇香港伺服器的原因-VeCloud伺服器Cloud
- 大多數公司不需要Netflix/Uber風格的微服務? - copyconstruct微服務Struct
- 10 個超棒的 JavaScript 簡寫技巧JavaScript
- html與css中都有哪些定位?HTMLCSS
- 5 個 JavaScript 除錯技巧JavaScript除錯
- 18 個 JavaScript 入門技巧!JavaScript
- 送你十條 JavaScript 字串技巧JavaScript字串
- 伺服器端渲染是大多數人不同意的真理 - timr伺服器
- 每日安全資訊:大多數黑客僱傭服務都是假的黑客
- 總結下 javascript 中的一些小技巧JavaScript
- 一些 JavaScript 中的程式碼小技巧JavaScript
- JavaScript 中 try...catch 的 10 個使用技巧JavaScript
- 幾個優雅的JavaScript運算子使用技巧JavaScript