LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

50個(gè)常用的 JavaScript 腳本技巧匯總

admin
2025年6月4日 17:51 本文熱度 315

在日常開發(fā)中,JavaScript 是我們繞不開的核心語言。無論你是前端開發(fā)、全棧工程師,還是剛?cè)腴T的初學(xué)者,掌握一些實(shí)用的 JavaScript 技巧,不僅能大幅提升開發(fā)效率,還能讓你的代碼更加優(yōu)雅、簡潔。

下面整理了 50 個(gè)常用且高頻的 JavaScript 技巧,涵蓋數(shù)組、對(duì)象、函數(shù)、DOM 操作等多個(gè)實(shí)戰(zhàn)場(chǎng)景,每個(gè)技巧都配有簡潔的示例代碼,拿來就能用,快來查漏補(bǔ)缺吧!

一.基礎(chǔ)技巧

1.使用??代替||處理 null/undefined

const name = null;console.log(name ?? 'Guest'); // 'Guest'

2.使用?.安全訪問嵌套屬性

const user = {};console.log(user.address?.city); // undefined,不報(bào)錯(cuò)

3.轉(zhuǎn)換為布爾值

const loggedIn = !!user; // true 或 false

4.數(shù)字轉(zhuǎn)字符串 / 字符串轉(zhuǎn)數(shù)字

String(123); // '123'Number("456"); // 456

5.使用typeof檢查變量類型

console.log(typeof 42); // 'number'

二、數(shù)組技巧

6.去重?cái)?shù)組

const nested = [1, [2, [3]]];nested.flat(2); // [1, 2, 3]

7.查找最大值/最小值

Math.max(...[123]); // 3Math.min(...[123]); // 1

8.打亂數(shù)組順序

const arr = [123];arr.sort(() => Math.random() - 0.5);

9.生成固定長度數(shù)組

Array.from({ length5 }, (_, i) => i + 1); // [1, 2, 3, 4, 5]

10.數(shù)組扁平化

const nested = [1, [2, [3]]];nested.flat(2); // [1, 2, 3]

11.數(shù)組分組

const groupBy = (arr, fn) =>  arr.reduce((acc, val) => {    const key fn(val);    (acc[key] = acc[key] || []).push(val);    return acc;  }, {});

三、對(duì)象技巧

12.合并對(duì)象

const merged = { ...obj1, ...obj2 };

13.對(duì)象鍵值互換

const obj = { a1b2 };const flipped = Object.fromEntries(  Object.entries(obj).map(([k, v]) => [v, k]));

14.從對(duì)象中提取部分屬性

const { a, b } = obj;

15.動(dòng)態(tài)屬性名

const key = "name";const user = { [key]: "Tom" };

16.刪除對(duì)象中 falsy 值

Object.fromEntries(Object.entries(obj).filter(([k, v]) => v));

四、函數(shù)技巧

17.默認(rèn)參數(shù)

function greet(name = 'Guest') {  console.log(`Hello, ${name}`);}

18.箭頭函數(shù)簡寫

const double = x => x * 2;

19.立即執(zhí)行函數(shù)(IIFE)

(() => {  console.log("Executed!");})();

20.函數(shù)緩存(記憶化)

const memo fn => {  const cache = {};  return x => cache[x] || (cache[x] = fn(x));};

21.函數(shù)節(jié)流(throttle)

function throttle(fn, delay) {  let last = 0;  return (...args) => {    const now = Date.now();    if (now - last > delay) {      last = now;      fn(...args);    }  };}

22.函數(shù)防抖(debounce)

function debounce(fn, delay) {  let timer;  return (...args) => {    clearTimeout(timer);    timer = setTimeout(() => fn(...args), delay);  };}

五、時(shí)間處理技巧

23.獲取當(dāng)前時(shí)間戳

Date.now(); // 或 +new Date()

24.格式化時(shí)間

new Date().toLocaleString(); 

25.延遲執(zhí)行

setTimeout(() => console.log("Hi"), 1000);

26.每秒執(zhí)行

const interval = setInterval(() => console.log("Tick"), 1000);clearInterval(interval);

六、字符串操作技巧

27.模板字符串

const msg = `Hello, ${name}`;

28.字符串反轉(zhuǎn)

"hello".split("").reverse().join(""); // "olleh"

29.字符串重復(fù)

"abc".repeat(3); // "abcabcabc"

30.替換所有

"foo foo".replaceAll("foo""bar"); // "bar bar"

31.檢查字符串開頭/結(jié)尾

str.startsWith("Hello");str.endsWith("!");

七、邏輯與運(yùn)算技巧

32.三元表達(dá)式

const status = isActive ? "active" : "inactive";

33.簡寫 if

isLoggedIn && showDashboard();

34.短路賦值

user.name ||= "Guest";

35.按位取整

~~3.14// 3

36.指數(shù)操作

2 ** 3; // 8

八、工具類技巧

37.深拷貝對(duì)象

const deepCopy = JSON.parse(JSON.stringify(obj));

38.獲取對(duì)象長度

Object.keys(obj).length;

39.判斷是否為數(shù)組

Array.isArray(arr);

40.隨機(jī)字符串

Math.random().toString(36).slice(2);

41.生成唯一 ID

const uuid = () => Date.now().toString(36) + Math.random().toString(36).slice(2);

九、DOM 操作技巧

42.選擇元素

document.querySelector(".btn");

43.添加事件

btn.addEventListener("click"() => alert("Clicked"));

44.創(chuàng)建元素

const el = document.createElement("div");

45.設(shè)置 innerHTML

el.innerHTML = "<p>Hello</p>";

46.設(shè)置樣式

el.style.color = "red";

47.操作類名

el.classList.add("active");el.classList.remove("hidden");

十、實(shí)用判斷技巧

48.判斷空對(duì)象

Object.keys(obj).length === 0;

49.判斷為空值(null, undefined, "")

if (!value) { /* do something */ }

50.判斷是否為數(shù)字

!isNaN(Number(val));


該文章在 2025/6/5 15:12:38 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購管理,倉儲(chǔ)管理,倉庫管理,保質(zhì)期管理,貨位管理,庫位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
日韩a级片视频中文字幕 | 亚洲产精品一区二区 | 日本有码中文字幕在线电影 | 一区二区三区国产99 | 久久久噜噜噜久久久白丝袜 | 色窝窝在线视频免费观看 |