中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

房山網(wǎng)站建設(shè)網(wǎng)絡(luò)seo哈爾濱

房山網(wǎng)站建設(shè),網(wǎng)絡(luò)seo哈爾濱,html5電影網(wǎng)站建設(shè),泰安市最新人事任免本文將介紹7種JavaScript的優(yōu)化技巧,這些技巧可以幫助你更好的寫出簡潔優(yōu)雅的代碼。 1. 字符串的自動匹配(Array.includes) 在寫代碼時我們經(jīng)常會遇到這樣的需求,我們需要檢查某個字符串是否是符合我們的規(guī)定的字符串之一。最?!?article class="baidu_pl">

本文將介紹7種JavaScript的優(yōu)化技巧,這些技巧可以幫助你更好的寫出簡潔優(yōu)雅的代碼。

1. 字符串的自動匹配(Array.includes

在寫代碼時我們經(jīng)常會遇到這樣的需求,我們需要檢查某個字符串是否是符合我們的規(guī)定的字符串之一。最常見的方法就是使用||===去進行判斷匹配。但是如果大量的使用這種判斷方式,定然會使得我們的代碼變得十分臃腫,寫起來也是十分累。其實我們可以使用Array.includes來幫我們自動去匹配。

代碼示例:

// 未優(yōu)化前的寫法
const isConform = (letter) => {if (letter === "a" ||letter === "b" ||letter === "c" ||letter === "d" ||letter === "e") {return true;}return false;
}; 
// 優(yōu)化后的寫法
const isConform = (letter) =>["a", "b", "c", "d", "e"].includes(letter); 

2.for-offor-in自動遍歷

for-offor-in,可以幫助我們自動遍歷Arrayobject中的每一個元素,不需要我們手動跟更改索引來遍歷元素。

注:我們更加推薦對象(object)使用for-in遍歷,而數(shù)組(Array)使用for-of遍歷

for-of

const arr = ['a',' b', 'c'];
// 未優(yōu)化前的寫法
for (let i = 0; i < arr.length; i++) {const element = arr[i];console.log(element);
} 
// 優(yōu)化后的寫法
for (const element of arr) { console.log(element);
}
// expected output: "a"
// expected output: "b"
// expected output: "c" 

for-in

const obj = {a: 1,b: 2,c: 3,
};
// 未優(yōu)化前的寫法
const keys = Object.keys(obj);
for (let i = 0; i < keys.length; i++) {const key = keys[i];const value = obj[key];// ...
} 
// 優(yōu)化后的寫法
for (const key in obj) {const value = obj[key];// ...
} 

3.false判斷

如果你想要判斷一個變量是否為null、undefined、0、false、NaN、'',你就可以使用邏輯非(!)取反,來幫助我們來判斷,而不用每一個值都用===來判斷

// 未優(yōu)化前的寫法
const isFalsey = (value) => {if (value === null ||value === undefined ||value === 0 ||value === false ||value === NaN ||value === "") {return true;}return false;
}; 
// 優(yōu)化后的寫法
const isFalsey = (value) => !value; 

4.三元運算符代替(if/else

在我們編寫代碼的時候肯定遇見過if/else選擇結(jié)構(gòu),而三元運算符可以算是if/else的一種語法糖,能夠更加簡潔的表示if/else。

// 未優(yōu)化前的寫法
let info;
if (value < minValue) {info = "Value is最小值";
} else if (value > maxValue) {info = "Value is最大值";
} else {info = "Value 在最大與最小之間";
} 
//優(yōu)化后的寫法
const info =value < minValue? "Value is最小值": value > maxValue ? "Value is最大值" : "在最大與最小之間"; 

5.函數(shù)調(diào)用的選擇

三元運算符還可以幫我們判斷當前情況下該應(yīng)該調(diào)用哪一個函數(shù),

function f1() {// ...
}
function f2() {// ...
}
// 未優(yōu)化前的寫法
if (condition) {f1();
} else {f2();
} 
// 優(yōu)化后的寫法
(condition ? f1 : f2)(); 

6.用對象代替switch/case選擇結(jié)構(gòu)

switch case通常是有一個case值對應(yīng)一個返回值,這樣的結(jié)構(gòu)就類似于我們的對象,也是一個鍵對應(yīng)一個值。我們就可以用我們的對象代替我們的switch/case選擇結(jié)構(gòu),使代碼更加簡潔

const dayNumber = new Date().getDay();// 未優(yōu)化前的寫法
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";
} 
// 優(yōu)化后的寫法
const days = {0: "Sunday",1: "Monday",2: "Tuesday",3: "Wednesday",4: "Thursday",5: "Friday",6: "Saturday",
};
const day = days[dayNumber]; 

7. 邏輯或(||)的運用

如果我們要獲取一個不確定是否存在的值時,我們經(jīng)常會運用if判斷先去判斷值是否存在,再進行獲取。如果不存在我們就會返回另一個值。我們可以運用邏輯或(||)的特性,去優(yōu)化我們的代碼

// 未優(yōu)化前的寫法
let name;
if (user?.name) {name = user.name;
} else {name = "Anonymous";
} 
// 優(yōu)化后的寫法
const name = user?.name || "Anonymous"; 

最后

整理了75個JS高頻面試題,并給出了答案和解析,基本上可以保證你能應(yīng)付面試官關(guān)于JS的提問。



有需要的小伙伴,可以點擊下方卡片領(lǐng)取,無償分享

http://www.risenshineclean.com/news/35718.html

相關(guān)文章:

  • 政府網(wǎng)站建設(shè)分析專注于seo顧問
  • 如何進行網(wǎng)站維護seo云優(yōu)化如何
  • 動態(tài)網(wǎng)站設(shè)計與開發(fā)心得體會貴陽關(guān)鍵詞優(yōu)化平臺
  • 齊諾網(wǎng)站建設(shè)成都私人做網(wǎng)站建設(shè)
  • 好域名做網(wǎng)站微信視頻號怎么推廣引流
  • 先做它個天貓網(wǎng)站百度搜索關(guān)鍵詞
  • 做網(wǎng)站的流程分析-圖靈吧百度指數(shù)查詢app
  • wordpress blod關(guān)鍵詞是網(wǎng)站seo的核心工作
  • 旅游網(wǎng)站建設(shè)的目的及功能定位優(yōu)幫云首頁推薦
  • 博客網(wǎng)站的建設(shè)手機百度網(wǎng)盤下載慢怎么解決
  • 自己做網(wǎng)站可以隨便起名字嗎友情鏈接站長平臺
  • 什么行業(yè)做網(wǎng)站百度指數(shù)數(shù)據(jù)
  • 建設(shè)銀行官方網(wǎng)站地址新品牌推廣策略
  • 橋頭鎮(zhèn)網(wǎng)站仿做電商網(wǎng)頁
  • 大城網(wǎng)站制作新手怎么做網(wǎng)頁
  • 微信推送怎么做購物網(wǎng)站360搜索引擎網(wǎng)址
  • 成都捕魚網(wǎng)站建設(shè)昆明seo培訓(xùn)
  • 服務(wù)器網(wǎng)站綁定域名網(wǎng)站建設(shè)最新中央人事任免
  • 個人做網(wǎng)站賺錢太原做網(wǎng)站的
  • 網(wǎng)站域名查企業(yè)郵箱黃頁
  • 創(chuàng)建網(wǎng)站主題在哪里近期重大新聞
  • 電視直播網(wǎng)站開發(fā)神童預(yù)言新冠2023結(jié)束
  • 做場景秀的網(wǎng)站長尾關(guān)鍵詞舉例
  • 學(xué)做網(wǎng)站必須php嗎seo jsbapp9
  • 做國外網(wǎng)站關(guān)鍵詞用寫營銷推廣內(nèi)容
  • 不用fash做的視頻網(wǎng)站個人怎么做網(wǎng)站
  • 網(wǎng)站開發(fā)投標書范本目錄阿里云域名注冊查詢
  • vb實現(xiàn)asp網(wǎng)站開發(fā)百度圖像搜索
  • 建站寶盒做的網(wǎng)站遼源seo
  • 自學(xué)做網(wǎng)站要多久成都公司網(wǎng)站seo