日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑

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

12 個高級 JavaScript 技巧,優(yōu)化你的代碼

admin
2025年1月2日 11:46 本文熱度 861

JavaScript 帶給了我們極大的自由,但也帶來了一定的復(fù)雜性。為了讓你的代碼更高效、易于維護,下面認真分享 12個 JavaScript 的高級技巧和實用場景。

空值合并(??)

場景:如果變量為 null 或 undefined ,則使用默認值。

const username = user.name ?? 'Guest';
console.log(username); // 如果 user.name 為 null 或 undefined,輸出‘Guest’

使用 Intl 進行格式化

場景:Intl 對象可以用于格式化貨幣、日期以及數(shù)字,非常適合需要進行本地化處理的場景。

const formatter = newIntl.NumberFormat('zh-CN', { style'currency'currency'CNY' });
console.log(formatter.format(1000)); // 輸出:¥1,000.00

緩存函數(shù)

場景:緩存函數(shù)結(jié)果以加快重復(fù)調(diào)用速度。

const memoize = fn => {
  const cache = {};
  return(...args) => {
    const key = JSON.stringify(args);
    if (!cache[key]) cache[key] = fn(...args);
    return cache[key];
  };
};

可選鏈接

場景:簡化字符串插值和多行字符串。

const address = user?.contact?.address?.city;
console.log(address); 

使用 Set 保存唯一值

場景:當(dāng)需要存儲一組不重復(fù)的值時,可以使用 Set。

const unique = newSet([1231]);
console.log(unique); // 輸出:Set { 1, 2, 3 }

模板字面量

場景:插入變量,實現(xiàn)多行字符串。

const username = "Saurabh";
const entries = 1567;
const message = `Hello, ${username}!, Welcome to dashboard you have ${entries} left`;

默認參數(shù)

場景:為函數(shù)參數(shù)分配默認值。

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

 數(shù)組擴展運算符

場景:克隆或合并數(shù)組。

const newArray = [...array1, ...array2];

數(shù)組映射

場景:將元素轉(zhuǎn)換成新數(shù)組。

const names = users.map(user => user.name);

防抖

場景:控制函數(shù)執(zhí)行頻率。

const debounce = (func, delay) => {
  let timeout;
  return (...args) => {
    clearTimeout(timeout);
    timeout = setTimeout(() => func(...args), delay);
  };
};

節(jié)流

場景:控制函數(shù)隨時間推移的執(zhí)行頻率。

const throttle = (func, limit) => {
let lastFunc;
let lastRan;
return(...args) => {
    if (!lastRan) {
      func(...args);
      lastRan = Date.now();
    } else {
      clearTimeout(lastFunc);
      lastFunc = setTimeout(() => {
        if (Date.now() - lastRan >= limit) {
          func(...args);
          lastRan = Date.now();
        }
      }, limit - (Date.now() - lastRan));
    }
  };
};

Promise.all

場景:并行處理多個 promise。

const results = await Promise.all([fetchData1(), fetchData2()]);

結(jié)論

通過掌握這些高級 JavaScript 技巧,你可以在編寫代碼時更加高效、優(yōu)雅,并能輕松解決復(fù)雜問題。無論是通過 Intl 進行數(shù)據(jù)格式化,還是使用 Set 去重和管理集合,這些實用的方法都能幫助你寫出更簡潔、更專業(yè)的代碼。

本文首發(fā)于公眾號“web前端開發(fā)之旅”,轉(zhuǎn)載請注明出處!


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