大多數教程中都找不到的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技巧JavaScript
- 走心大白話JavaScript教程(一)理解JS中this指向的小技巧JavaScriptJS
- 程式設計師在直播app原始碼的開發過程中都有哪些技巧?程式設計師APP原始碼
- 找不到工作?學JavaScript吧JavaScript
- JavaScript Promise 的使用技巧JavaScriptPromise
- JavaScript的方法和技巧JavaScript
- JavaScript小技巧JavaScript
- JavaScript?小技巧JavaScript
- 常用JavaScript的高階技巧JavaScript
- 好程式設計師Web前端教程分享JavaScript開發技巧程式設計師Web前端JavaScript
- 程式設計技巧│提高 Javascript 程式碼效率的技巧程式設計JavaScript
- JavaScript 技巧總結JavaScript
- 12個JavaScript技巧JavaScript
- javascript常用技巧(轉)JavaScript
- JavaScript 高階技巧JavaScript
- 10個很棒的 JavaScript 字串技巧JavaScript字串
- JavaScript 中 this 的使用技巧總結JavaScript
- 21個值得收藏的Javascript技巧JavaScript
- 一些有趣的Javascript技巧JavaScript
- java中都有哪些異常Java
- 9 個強大的 JavaScript 小技巧JavaScript
- JavaScript常用的簡潔高階技巧JavaScript
- 【譯】分享7個好用的JavaScript技巧JavaScript
- 常用的一些javascript小技巧JavaScript
- 前端開發者務必知道的JavaScript技巧前端JavaScript
- javascript除錯的幾個常用技巧JavaScript除錯
- 簡單而強大的JavaScript技巧JavaScript
- 早該知道的7個JavaScript技巧JavaScript
- JavaScript 反除錯技巧JavaScript除錯
- JavaScript 常用55個技巧JavaScript
- 45種Javascript技巧大全JavaScript
- JavaScript使用技巧精萃JavaScript
- Antlr的+ * ?在yacc中都是什麼樣的模式?模式
- Java 中都有哪些資料儲存的框架Java框架
- html與css中都有哪些定位?HTMLCSS
- 意向鎖-Oracle和MySQL中都存在OracleMySql
- 《沉默的大多數》總結