日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長提供免費收錄網(wǎng)站服務(wù),提交前請做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

每種語言都有其獨特性,使用最廣泛的編程語言 JAVAScript 也不例外。

 

 

今天這篇文章將討論一些 JavaScript 通用優(yōu)化技巧,這些技巧將幫助您編寫更好的代碼,希望你能從今天這篇文章中獲取一些新知識。

1. Fallback Values

如果值為 [] 或 0,則使用邏輯或 || 沒有給你預(yù)期的結(jié)果。

無效共生將是一個更好的解決方案?如果定義的值為 null 或未定義,則僅使用回退值。

// Lengthy
let name;
if (user?.name) {
  name = user.name;
} else {
  name = "Anonymous";
}


// Shortly
const name = user?.name ?? "Anonymous";

2.Shortly For Switching

Long  switch case 通常通過使用一個對象來最大化,該對象的鍵充當開關(guān),而值試圖充當返回值。

const dayNumber = new Date().getDay();

// Lengthy
let day;
switch (dayNumber) {
  case 0:
    day = "Sunday";
    break;
  case 1:
    day = "Monday";
    break;
  case 2:
    day = "Tuesday";
    break;
  case 3:
    day = "Wednesday";
    break;
  case 4:
    day = "Thursday";
    break;
  case 5:
    day = "Friday";
    break;
  case 6:
    day = "Saturday";
}


// Shortly
const days = [
    "Sunday",
    "Monday",
    "Tuesday",
    "Wednesday",
    "Thursday",
    "Friday",
    "Saturday",
];


// Or
const days = `Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday`.split(
    ","
);


const day = days[dateNumber];

3.調(diào)用函數(shù)

您還可以使用二元運算符來根據(jù)條件決定調(diào)用哪個函數(shù)。

函數(shù)的調(diào)用模式必須相同,否則最終會出錯。

function f1() {
  // ...
}
function f2() {
  // ...
}


// Lengthy
if (condition) {
  f1();
} else {
  f2();
}


// Shortly
conditon ? f1() : f2();

4. 多字符串檢查

需要檢查一個字符串是否等于多個值之一是很常見的,這很快就會變得煩人。

幸運的是,JavaScript 有辦法幫助您解決這個問題。

// Lenghty
cconst isVowel = (letter) => {
  return (
    letter === "a" ||
    letter === "e" ||
    letter === "i" ||
    letter === "o" ||
    letter === "u"
  );
};


// Shortly
const isVowel = (letter) =>

5. For-Of 和 For-In 循環(huán)

For-of 和 For-in 循環(huán)有利于重復數(shù)組或?qū)ο螅鵁o需手動跟蹤對象鍵的索引。

For-of

const arr = [1, 2, 3, 4, 5];


// Lengthy
for (let i = 0; i < arr.length; i++) {
  const element = arr[i];
  // ...
}


// Shortly
for (const element of arr) {
  // ...
}

For-in

const obj = {
  a: 1,
  b: 2,
  c: 3,
};


// Lengthy
const keys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) {
  const key = keys[i];
  const value = obj[key];
  // ...
}


// Shortly
for (const key in obj) {
  const value = obj[key];
  // ...
}

6. False Checks

如果要檢查變量是否為 null、undefined、0、false、NaN 或空字符串,可以使用邏輯非 (!) 運算符來執(zhí)行此操作,而無需多重效果。

這使得驗證變量是否包含有效數(shù)據(jù)變得簡單。

 

// Lengthy
const isFalsey = (value) => {
  if (
    value === null ||
    value === undefined ||
    value === 0 ||
    value === false ||
    value === NaN ||
    value === ""
  ) {
    return true;
  }
  return false;
};


// Shortly
const isFalsey = (value) => !value;

 

7.Secondary Operator

作為 JavaScript 開發(fā)人員,您一定遇到過三元運算符。

這是編寫簡潔的 if-else 語句的絕佳方法。

但是,您可以使用它來編寫簡潔的代碼,甚至可以將它鏈接起來以檢查多個條件。

// Lengthy
let info;
if (value < minValue) {
  info = "Value is too small";
} else if (value > maxValue) {
  info = "Value is too large";
} else {
  info = "Value is in range";
}


// Shortly
const info =
  value < minValue
    ? "Value is too small"
    : value > maxValue ? "Value is too large" : "Value is in range";

到這里,我要與你分享的內(nèi)容,就全部結(jié)束了,感謝你的閱讀,祝編程開心。

分享到:
標簽:JavaScript
用戶無頭像

網(wǎng)友整理

注冊時間:

網(wǎng)站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨大挑戰(zhàn)2018-06-03

數(shù)獨一種數(shù)學游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數(shù)有氧達人2018-06-03

記錄運動步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定