公交车上荫蒂添的好舒服的电影-公用玩物(np双xing总受)-公用小荡货芊芊-公与妇仑乱hd-攻把受做哭边走边肉楼梯play-古装一级淫片a免费播放口

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

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

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

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在一区线观看高清 | 国产成人亚洲精品无码h | 国产熟女高潮一区二区三区 | 黑色丝袜老师自慰喷水浪潮免费 | 国产毛片无码视频 | 精品一精品国产一级毛片 | 国产一区二区无码视频 | 国产精品无码专区 | 国产精品一级毛片在线不卡 | 国产精品日韩在线制服丝袜 | 国产美女高潮抽搐在线播放 | 国产精品观看无码不卡视频 | 国产成人垃圾片一区二区三区 | a级毛片无码免费久久真人 a级毛片无码免费视频 | 精品精品国产高清a级毛片8 | 精品久久无码人妻中文字幕 | 高清av熟女一区 | 丰满人妻av无码一区二区软件 | 精品国产蜜桃乱码久久久久 | 国产成人久久av免费高清 | 国产精品v毛片免费看视频 国产精品v毛片免费软件 | 国产精品亚洲日韩欧美色窝窝色欲 | 91麻豆国产综合精品久久不卡 | 91精品国偷自产在线电影 | 国产精品一区二区白浆 | 国产主播在线观看网 | 91精品欧美一区二区三区 | 国产精品一区二区在 | 国产一区二区三区视频xxx | 成人色网在线观看 | 国产成人无码精品久久久免 | 丰满人妻熟妇乱精品视频 | 国产a级国片免费播放 | 国产主播国产精品自拍 | 91蜜桃传 | 国偷自产一区二区三区在线视频 | 国产福利不卡一区二区三区 | 99久久国产精品人妻无码 | 国产嫩草视频在线观看 |