精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

12 個高級 JavaScript 技巧,優化你的代碼

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

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

空值合并(??)

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

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

使用 Intl 進行格式化

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

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

緩存函數

場景:緩存函數結果以加快重復調用速度。

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 保存唯一值

場景:當需要存儲一組不重復的值時,可以使用 Set。

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

模板字面量

場景:插入變量,實現多行字符串。

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

默認參數

場景:為函數參數分配默認值。

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

 數組擴展運算符

場景:克隆或合并數組。

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

數組映射

場景:將元素轉換成新數組。

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

防抖

場景:控制函數執行頻率。

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

節流

場景:控制函數隨時間推移的執行頻率。

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()]);

結論

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

本文首發于公眾號“web前端開發之旅”,轉載請注明出處!


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

主站蜘蛛池模板: 久久久久久国产精品免费免费 | 日本aⅴ在线观看视频 | 国产OO后高中生在线视频 | 国产肥白大熟妇bbbb | 人妻被按摩到潮喷中文字幕 | 午夜神器老司机高清无码 | 国产成人精品一二三四 | 国产精品综合一区二区三区 | 免费看又色又爽又黄的国产软件 | 日韩好片一区二区在线看 | 亚洲国产成人91精品 | 人妻少妇88久久中文 | 国产免费一区二区三区在线 | 在线成人中文字幕 | 亚洲综合伦理 | 免费国精产品自偷自偷免费看 | 国产色情乱码久久久久一区二区 | 高清不卡一区二区三区 | 午夜av旡码高清在线观 | 久久久久se色偷偷亚洲精品av | 麻豆回家视频区一区二 | 91精品乱伦午夜日本一区 | 成人无码av片在线观看 | 亚洲湿片在线视频 | 欧美特级特黄AAAAA片 | 免费看天天操夜夜操 | 字幕人妻第一区久久综合精品中文字幕首页 | 亚洲欧美另类久久久精品能播放的 | 精品久久久久久成人av | GOGO大胆国模一区二区私拍 | 国产精品高清一区二区三区不卡 | 91精品国产高清久久久久久99 | 少妇高潮毛片免费看 | ā片在线观看 | 亚洲一级香蕉视频 | 黑人巨大跨种族video | 亚洲av无码乱码忘忧草亚洲人 | av电影下载网址 | 免费精品一区二区三区a片 免费精品一区二区三区A片在线 | 国产精品无码人妻系列AV | 国产亚洲综合区成人国产系列 |