成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

開發(fā) 前端
今天探討 20 種 JavaScript 技巧和竅門,每種技巧和竅門都有通俗易懂的示例。讓我們一起來提升你的 JavaScript 技能吧!

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

解構(gòu)允許你輕松地從數(shù)組或?qū)ο笾薪獍怠R韵率且粋€(gè)例子:

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

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

擴(kuò)展運(yùn)算符(...)讓你能輕松地創(chuàng)建數(shù)組的副本并合并對(duì)象:

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

合并對(duì)象:

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ù)的秘密武器:

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)潔的條件語句:

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

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

將setTimeout()鏈接起來可以創(chuàng)建一系列的延遲操作:

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的值:

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

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

使用 Promise.all() 來合并多個(gè)承諾并集體處理它們:

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ì)象屬性名稱:

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

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

模板字面量 (${}) 允許你在字符串中嵌入表達(dá)式:

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

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

使用 Number.isNaN() 來準(zhǔn)確地檢查一個(gè)值是否為 NaN:

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

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

在處理嵌套屬性時(shí),通過可選鏈來避免錯(cuò)誤:

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

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

正則表達(dá)式(RegExp)是用于模式匹配的強(qiáng)大工具:

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:

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():

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)求:

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)建私有變量:

function createCounter() {
  let count = 0;
  return function () {
    count++;
    console.log(count);
  };
}

const counter = createCounter();
counter(); // Output: 1
counter(); // Output: 2

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

備忘錄化通過緩存函數(shù)結(jié)果來提高性能:

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)畫:

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模塊來編寫整潔、模塊化的代碼:

// math.js
export function add(a, b) {
  return a + b;
}

// app.js
import { add } from './math.js';
console.log(add(2, 3)); // Output: 5

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

代理允許你攔截并自定義對(duì)象操作:

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)有了足夠的裝備,可以將你的編程技能提升到新的水平。

責(zé)任編輯:姜華 來源: 大遷世界
相關(guān)推薦

2020-08-04 06:32:21

JavaScript代碼開發(fā)

2021-01-09 09:23:29

CSS頁(yè)面渲染開發(fā)

2013-12-31 09:26:31

JavaScript技巧

2009-03-17 08:46:57

Windows 7微軟發(fā)布

2024-05-06 11:12:22

圖像處理數(shù)學(xué)計(jì)算NumPy

2020-07-06 10:55:38

CIO首席信息官IT

2018-04-28 09:10:01

微軟OfficeWindows

2022-03-01 15:26:29

漏洞網(wǎng)絡(luò)攻擊

2021-12-27 08:21:24

微信微信小技巧移動(dòng)應(yīng)用

2021-01-31 23:56:49

JavaScript開發(fā)代碼

2009-10-21 09:46:13

VB使用ArrayLi

2021-04-13 10:20:13

Edge Canary瀏覽器微軟

2018-04-19 14:30:25

LinuxVi編輯器

2022-10-17 07:16:08

SQL機(jī)器學(xué)習(xí)AI

2024-09-18 05:15:00

OpenCV樹莓派目標(biāo)檢測(cè)

2017-02-13 09:33:32

2020-07-15 08:00:52

Rust語言技巧

2018-07-19 06:07:22

物聯(lián)網(wǎng)安全物聯(lián)網(wǎng)IOT

2021-11-14 15:48:42

Windows 11Windows微軟

2009-12-17 09:09:48

Windows 7系統(tǒng)分區(qū)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 免费成人高清 | 天堂在线1| 99精品免费久久久久久久久日本 | 亚洲综合中文字幕在线观看 | 亚洲a视频| 激情视频中文字幕 | 国产欧美日韩精品在线观看 | 一区二区三区欧美 | 国产一区影院 | 99久久久国产精品 | 免费视频一区二区 | 一级全黄视频 | 久久精品一区 | 精品国产一区二区三区av片 | 国产精品久久久久久久久久久久久 | 免费人成激情视频在线观看冫 | 国产高清免费视频 | 精品国产乱码久久久久久丨区2区 | 久久精品黄色 | 久久精品国产99国产精品 | 日韩一区二区福利视频 | 狠狠婷婷综合久久久久久妖精 | 婷婷综合激情 | 欧美成人精品二区三区99精品 | 日韩精品成人网 | 欧美日韩精品中文字幕 | 久久一级大片 | 国产黄色av网站 | 黄色一级大片在线观看 | 欧美日韩亚洲二区 | 精品久久久久久久 | 精品国产欧美一区二区 | 97超碰在线播放 | 黄色毛片在线观看 | 久草视频2 | 日韩在线观看网站 | 久久久久国产精品一区二区 | 成人深夜福利 | 九九热精品视频在线观看 | 日韩精品在线视频免费观看 | www.99热.com|