AVt天堂网 手机版,亚洲va久久久噜噜噜久久4399,天天综合亚洲色在线精品,亚洲一级Av无码毛片久久精品

當(dāng)前位置:首頁 > 科技  > 軟件

現(xiàn)在就可以使用的 20 個(gè) JavaScript 技巧和竅門

來源: 責(zé)編: 時(shí)間:2023-10-18 17:59:17 289觀看
導(dǎo)讀1、解構(gòu)魔法:輕松提取值解構(gòu)允許你輕松地從數(shù)組或?qū)ο笾薪獍?。以下是一個(gè)例子:const person = { name: 'Alice’, age: 30 };const { name, age } = person;console.log(name); // Output: Aliceconsole.log(age); //

9Sc28資訊網(wǎng)——每日最新資訊28at.com

1、解構(gòu)魔法:輕松提取值

解構(gòu)允許你輕松地從數(shù)組或?qū)ο笾薪獍?。以下是一個(gè)例子:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const person = { name: 'Alice’, age: 30 };const { name, age } = person;console.log(name); // Output: Aliceconsole.log(age); // Output: 30

2、展開運(yùn)算:克隆數(shù)組和合并對(duì)象

擴(kuò)展運(yùn)算符(...)讓你能輕松地創(chuàng)建數(shù)組的副本并合并對(duì)象:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const originalArray = [1, 2, 3];const clonedArray = [...originalArray];console.log(clonedArray); // Output: [1, 2, 3]

合并對(duì)象:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const obj1 = { a: 1, b: 2 };const obj2 = { b: 3, c: 4 };const merged = { ...obj1, ...obj2 };console.log(merged); // Output: { a: 1, b: 3, c: 4 }

3、map() 輕松實(shí)現(xiàn)轉(zhuǎn)換

map()方法是你轉(zhuǎn)換數(shù)據(jù)的秘密武器:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const numbers = [1, 2, 3];const squared = numbers.map(num => num * num);console.log(squared); // Output: [1, 4, 9]

4、 && 和 || 的短路操作:優(yōu)雅的條件判斷

使用 && 和 || 來創(chuàng)建清晰簡(jiǎn)潔的條件語句:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const name = user.name || 'Guest';console.log(name); // Output: Guest

5、串聯(lián) setTimeout():延遲序列化

將setTimeout()鏈接起來可以創(chuàng)建一系列的延遲操作:9Sc28資訊網(wǎng)——每日最新資訊28at.com

function delayedLog(message, time) {  setTimeout(() => {    console.log(message);  }, time);}delayedLog('Hello', 1000); // Output (after 1 second): Hello

6、箭頭函數(shù):簡(jiǎn)潔而強(qiáng)大

箭頭函數(shù)(() => {})不僅簡(jiǎn)潔,而且還保留了this的值:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const greet = name => `Hello, ${name}!`;console.log(greet(’Alice’)); // Output: Hello, Alice!

7、掌握 Promise.all():處理多個(gè) Promise

使用 Promise.all() 來合并多個(gè)承諾并集體處理它們:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const promise1 = fetch('url1');const promise2 = fetch('url2');Promise.all([promise1, promise2])  .then(responses => console.log(responses))  .catch(error => console.error(error));

8、動(dòng)態(tài)屬性名稱:多功能對(duì)象鍵

可以使用方括號(hào)將變量用作對(duì)象屬性名稱:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const key = 'name';const person = { [key]: 'Alice' };console.log(person.name); // Output: Alice

9、模板字面量魔法:字符串格式化

模板字面量 (${}) 允許你在字符串中嵌入表達(dá)式:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const name = 'Alice';const greeting = `Hello, ${name}!`;console.log(greeting); // Output: Hello, Alice!

10、NaN 檢查:更安全的替代方案

使用 Number.isNaN() 來準(zhǔn)確地檢查一個(gè)值是否為 NaN:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const notANumber = 'Not a number';console.log(Number.isNaN(notANumber)); // Output: false

11、可選鏈(?.):馴服未定義的值

在處理嵌套屬性時(shí),通過可選鏈來避免錯(cuò)誤:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const user = { info: { name: 'Alice' } };console.log(user.info?.age); // Output: undefined

12、正則表達(dá)式復(fù)興:掌握模式

正則表達(dá)式(RegExp)是用于模式匹配的強(qiáng)大工具:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const text = 'Hello, world!';const pattern = /Hello/g;console.log(text.match(pattern)); // Output: ['Hello']

13、JSON.parse() reviver:轉(zhuǎn)換解析數(shù)據(jù)

在JSON.parse()中的reviver參數(shù)允許你轉(zhuǎn)換解析后的JSON:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const data = '{"age":"30"}';const parsed = JSON.parse(data, (key, value) => {  if (key === 'age') return Number(value);  return value;});console.log(parsed.age); // Output: 30

14. 酷炫控制臺(tái)技巧:調(diào)試的樂趣

使用console.table()和console.groupCollapsed()超越console.log():9Sc28資訊網(wǎng)——每日最新資訊28at.com

const users = [{ name: 'Alice' }, { name: 'Bob' }];console.table(users);console.groupCollapsed(’Details’);console.log(’Name: Alice’);console.log(’Age: 30’);console.groupEnd();

15、使用async/await獲?。寒惒胶?jiǎn)易性

使用fetch()的async/await簡(jiǎn)化了處理異步請(qǐng)求:9Sc28資訊網(wǎng)——每日最新資訊28at.com

async function fetchData() {  try {    const response = await fetch('url');    const data = await response.json();    console.log(data);  } catch (error) {    console.error(error);  }}fetchData();

16、無拘無束的閉包:數(shù)據(jù)隱私

閉包讓你在函數(shù)中創(chuàng)建私有變量:9Sc28資訊網(wǎng)——每日最新資訊28at.com

function createCounter() {  let count = 0;  return function () {    count++;    console.log(count);  };}const counter = createCounter();counter(); // Output: 1counter(); // Output: 2

17、提高速度的緩存:高效重新計(jì)算

備忘錄化通過緩存函數(shù)結(jié)果來提高性能:9Sc28資訊網(wǎng)——每日最新資訊28at.com

function fibonacci(n, memo = {}) {  if (n in memo) return memo[n];  if (n <= 2) return 1;  memo[n] = fibonacci(n - 1, memo) + fibonacci(n - 2, memo);  return memo[n];}console.log(fibonacci(10)); // Output: 55

18、IntersectionObserver:輕松的滾動(dòng)效果

使用 Intersection Observer 者API進(jìn)行懶加載和滾動(dòng)動(dòng)畫:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const observer = new IntersectionObserver(entries => {  entries.forEach(entry => {    if (entry.isIntersecting) {      entry.target.classList.add('fade-in');      observer.unobserve(entry.target);    }  });});const elements = document.querySelectorAll('.animate');elements.forEach(element => observer.observe(element));

19、清晰代碼的ES6模塊:有組織且模塊化

使用ES6模塊來編寫整潔、模塊化的代碼:9Sc28資訊網(wǎng)——每日最新資訊28at.com

// math.jsexport function add(a, b) {  return a + b;}// app.jsimport { add } from './math.js';console.log(add(2, 3)); // Output: 5

20、Proxy:超越對(duì)象

代理允許你攔截并自定義對(duì)象操作:9Sc28資訊網(wǎng)——每日最新資訊28at.com

const handler = {  get(target, prop) {    return `Property "${prop}" doesn't exist.`;  }};const proxy = new Proxy({}, handler);console.log(proxy.name); // Output: Property "name" doesn’t exist.

配備了這20個(gè)JavaScript的小竅門和技巧,你已經(jīng)有了足夠的裝備,可以將你的編程技能提升到新的水平。9Sc28資訊網(wǎng)——每日最新資訊28at.com

9Sc28資訊網(wǎng)——每日最新資訊28at.com

本文鏈接:http://www.tebozhan.com/showinfo-26-14010-0.html現(xiàn)在就可以使用的 20 個(gè) JavaScript 技巧和竅門

聲明:本網(wǎng)頁內(nèi)容旨在傳播知識(shí),若有侵權(quán)等問題請(qǐng)及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com

上一篇: 為什么架構(gòu)設(shè)計(jì)總沒法一勞永逸?

下一篇: Node.js 21 正式發(fā)布,趕緊來看看有哪些更新吧!

標(biāo)簽:
  • 熱門焦點(diǎn)
  • Mate60手機(jī)殼曝光 致敬自己的經(jīng)典設(shè)計(jì)

    8月3日消息,今天下午博主數(shù)碼閑聊站帶來了華為Mate60的第三方手機(jī)殼圖,可以讓我們?cè)谡鏅C(jī)發(fā)布之前看看這款華為全新旗艦的大致輪廓。從曝光的圖片看,Mate 60背后攝像頭面積依然
  • Redmi Buds 4開箱簡(jiǎn)評(píng):才199還有降噪 可以無腦入

    在上個(gè)月舉辦的Redmi Note11T Pro系列新機(jī)發(fā)布會(huì)上,除了兩款手機(jī)新品之外,Redmi還帶來了兩款TWS真無線藍(lán)牙耳機(jī)產(chǎn)品,Redmi Buds 4和Redmi Buds 4 Pro,此前我們?cè)赗edmi Note11T
  • 如何正確使用:Has和:Nth-Last-Child

    我們可以用CSS檢查,以了解一組元素的數(shù)量是否小于或等于一個(gè)數(shù)字。例如,一個(gè)擁有三個(gè)或更多子項(xiàng)的grid。你可能會(huì)想,為什么需要這樣做呢?在某些情況下,一個(gè)組件或一個(gè)布局可能會(huì)
  • 之家push系統(tǒng)迭代之路

    前言在這個(gè)信息爆炸的互聯(lián)網(wǎng)時(shí)代,能夠及時(shí)準(zhǔn)確獲取信息是當(dāng)今社會(huì)要解決的關(guān)鍵問題之一。隨著之家用戶體量和內(nèi)容規(guī)模的不斷增大,傳統(tǒng)的靠"主動(dòng)拉"獲取信息的方式已不能滿足用
  • 使用AIGC工具提升安全工作效率

    在日常工作中,安全人員可能會(huì)涉及各種各樣的安全任務(wù),包括但不限于:開發(fā)某些安全工具的插件,滿足自己特定的安全需求;自定義github搜索工具,快速查找所需的安全資料、漏洞poc、exp
  • 小紅書1周漲粉49W+,我總結(jié)了小白可以用的N條漲粉筆記

    作者:黃河懂運(yùn)營一條性教育視頻,被54萬人&ldquo;珍藏&rdquo;是什么體驗(yàn)?最近,情感博主@公主是用鮮花做的,火了!僅僅憑借一條視頻,光小紅書就有超過128萬人,為她瘋狂點(diǎn)贊!更瘋狂的是,這
  • 國行版三星Galaxy Z Fold5/Z Flip5發(fā)布 售價(jià)7499元起

    2023年8月3日,三星電子舉行Galaxy新品中國發(fā)布會(huì),正式在國內(nèi)推出了新一代折疊屏智能手機(jī)三星Galaxy Z Fold5與Galaxy Z Flip5,以及三星Galaxy Tab S9
  • 聯(lián)想小新Pad Pro 12.6將要推出,搭載高通驍龍 870 處理器

    聯(lián)想小新Pad Pro 12.6將于秋季新品會(huì)上推出,官方按照慣例直接在發(fā)布會(huì)前給出了機(jī)型的所有參數(shù)。聯(lián)想小新 Pad Pro 12.6 將搭載高通驍龍 870 處理器,重量為 5
  • 由于成本持續(xù)增加,筆記本產(chǎn)品價(jià)格預(yù)計(jì)將明顯上漲

    根據(jù)知情人士透露,由于材料、物流等成本持續(xù)增加,筆記本產(chǎn)品價(jià)格預(yù)計(jì)將在2021年下半年有明顯上漲。進(jìn)入6月下旬以來,全球半導(dǎo)體芯片缺貨情況加劇,顯卡、處理器
Top