色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍

千鋒教育-做有情懷、有良心、有品質的職業教育機構

手機站
千鋒教育

千鋒學習站 | 隨時隨地免費學

千鋒教育

掃一掃進入千鋒手機站

領取全套視頻
千鋒教育

關注千鋒學習站小程序
隨時隨地免費學習課程

當前位置:首頁  >  技術干貨  > 14個提高Javascript開發的技巧

14個提高Javascript開發的技巧

來源:千鋒教育
發布人:wjy
時間: 2022-09-21 10:20:38 1663726838

  在文章中,我將分享14個關于JavaScript 的優秀技巧。這些技巧或者你可能已經掌握了,不過沒有關系,這個技巧也不可能適用所有人,我分享的目的是把這些有趣好玩又便捷的技巧讓更多人知道,以及在需要的時候,可以想到它們。

  現在,我們一起來看看這些技巧。

  1.判斷空和未定義

  我們很快就會在 JavaScript 中學到的一件事是,并非一切都像它看起來的那樣,并且在像這樣的動態語言中,變量可能會以多種方式導致你出現問題。可以進行的一個非常常見的測試是檢查變量是否為空或未定義,甚至“空”,如下例所示:

15個提高Javascript開發的 技巧1

  進行相同評估的更簡單方法是:

  let userName = name || "";

  如果你不相信,請測試一下!

  2.數組定義

  所以你必須創建一個 Array 對象,然后用它的元素填充它,對吧?你的代碼可能看起來像這樣:

  let a = new Array();

  a[0] = "s1";

  a[1] = "s2";

  a[2] = "s3";

  在一行中做同樣的事情怎么樣?

  let a = ["s1", "s2", "s3"]

  挺好看的吧!

  注意:我知道這個技巧更簡單,但對我來說很簡單,它可能會幫助一些從其他編程語言開始的人。

  3.三元運算符

  著名的“單行 if/else”,三元運算符對于 Java 和 C# 等語言對于許多程序員來說已經是老熟人了。它也存在于 JS 中,并且可以像這樣輕松地轉換代碼塊:

15個提高Javascript開發的 技巧2

  在這:

  let big = x > 10 ? true : false;

  或者更簡單:

  let big = x > 10; 但它也適用于函數調用嗎?如果我有兩個不同的函數,并且我想在 if 為真時調用一個,在 if 為假的情況下調用一個,通常你會執行以下操作:

15個提高Javascript開發的 技巧3

  但是,你也可以使用三元進行相同的函數調用:

15個提高Javascript開發的 技巧5

  另外,值得一提的是測試變量是否為真的 ifs,一些程序員仍然這樣做:

  if (likeJs === true)

  當他們可以這樣做時:

  if (likeJs)

  4.聲明變量

  是的,即使是變量的聲明也有其怪癖。雖然這不是一個秘密,但你仍然會看到很多程序員做出這樣的聲明:

  let x;

  let y;

  let z = 3;

  他們什么時候可以這樣做:

  let x, y, z = 3;

  5.使用正則表達式

  當涉及到文本分析和驗證以及某些類型的網絡爬蟲的數據提取時,正則表達式是創建優雅而強大的代碼的好工具。

  你可以在以下鏈接中了解有關如何使用正則表達式的更多信息:

  https://developer.mozilla.org/enUS/docs/Web/JavaScript/Guide/Regular_Expressions

  https://regexr.com/

  https://regex101.com/

  6.charAt() 快捷鍵

  你只想從一個字符串中選擇一個字符,在一個特定的位置,對吧?我敢打賭,你首先想到的是使用 charAt 函數,如下所示:

  "string".charAt(0);

  但是得到這個,通過記住 String 是一個字符數組的類比,你會得到相同的結果:

  "string"[0]; // Returns 's'

  7.以 10 為底的冪

  這只是對 Base-10 指數數或充滿零的著名數字的一種更精簡的表示法。對于數學比較接近的人來說,看到其中一個不會太驚訝,但是一個數字 10000 在 JS 中可以很容易地被 1e4 替換,即 1 后跟 4 個零,如下所示:

  for (let i = 0; i < 1e4; i++) {

  8.模板文字

  這種語義特性是 ECMAScript 版本 6 或更高版本所獨有的,并且極大地簡化了讀取變量集中的字符串連接。例如,下面的串聯:

  const question = “My number is “ + number + “, ok?”

  這個很簡單,你可能做了更糟糕的連接。從 ES6 開始,我們可以使用模板文字進行這種連接:

  const question = `My number is ${number}, ok?`

  9.箭頭函數

  箭頭函數是聲明函數的縮短方式。是的,自第一個 JavaScript 版本以來,有更多方法可以做同樣的事情。例如,下面是一個求和函數:

15個提高Javascript開發的 技巧6

  我們也可以像這樣聲明這個函數:

15個提高Javascript開發的 技巧7

  但是使用箭頭函數:

  const sum = (n1,n2) => n1 + n2;

  10.參數解構

  本技巧適用于那些充滿參數的函數,并且你決定用一個對象替換所有這些函數。或者對于那些真正需要配置對象作為參數的函數。

  到目前為止都沒有問題,畢竟誰從來沒有經歷過這個?問題是必須繼續訪問由參數傳遞的對象,然后是我們要讀取的每個屬性,對吧?像這樣:

15個提高Javascript開發的 技巧8

  參數解構特性正是為了簡化這一點,同時通過用下面的語句替換前面的語句來幫助代碼可讀性:

15個提高Javascript開發的 技巧9

  最重要的是,我們仍然可以在參數對象的屬性中添加默認值:

15個提高Javascript開發的 技巧10

  這樣,s 的值為 1,但 t 的值將默認為該屬性,即 20。

  11.鍵值名稱

  一個非常令人上癮的功能是為對象分配屬性的縮寫方式。想象一下,你有一個 person 對象,該對象具有將通過 name 變量分配的 name 屬性。它看起來像這樣:

  const name = "Joseph"

  const person = { name: name }

  // { name: "Joseph" }

  雖然你可以這樣做:

  const name = "Joseph"

  const person = { name }

  // { name: "Joseph" }

  也就是說,如果你的變量與屬性同名,則不需要調用它,只需傳遞變量即可。多個屬性也是如此:

  const name = "Joseph"

  const canCode = true

  const person = { name, canCode }

  // { name: "Joseph", canCode: true }

  12.Map

  考慮以下對象數組:

15個提高Javascript開發的 技巧11

  現在想象一下,我們只想將動物的名字添加到另一個數組中。通常我們會這樣做:

15個提高Javascript開發的 技巧12

  但是使用 Map,我們可以這樣做:

15個提高Javascript開發的 技巧13

  請注意,map 需要一個最多三個參數的函數:

  第一個是當前對象(如在 foreach 中)

  第二個是當前迭代的索引

  第三個是整個數組

  顯然,這個函數將為動物數組中的每個對象調用一次。

  13.Filter

  如果我們想遍歷與上一個技巧中相同的動物對象數組,但這次只返回那些大小為“小”的對象怎么辦?

  我們將如何使用常規 JS 來做到這一點?

15個提高Javascript開發的 技巧14

  然而,使用過filter操作符,我們可以用一種更簡潔、更清晰的方式來做到這一點:

15個提高Javascript開發的 技巧15

  Filter 期望一個函數的參數是當前迭代的對象(如在 foreach 中),它應該返回一個布爾值,指示該對象是否將成為返回數組的一部分(true 表示它通過了測試 并將成為其中的一部分)。

  14.Reduce

  Javascript 的另一個重要特性是 reduce。它允許我們以非常簡單和強大的方式在集合之上進行分組和計算。例如,如果我們想將動物對象數組中所有動物的重量相加,我們會怎么做?

15個提高Javascript開發的 技巧16

  但是使用 reduce 我們可以這樣做:

15個提高Javascript開發的 技巧17

  Reduce 需要一個帶有以下參數的函數:

  第一個是累加器變量的當前值(在所有迭代結束時,它將包含最終值)

  第二個參數是當前迭代的對象

  第三個參數是當前迭代的索引

  第四個參數是將要迭代的所有對象的數組

  此函數將對數組中的每個對象執行一次,并在其執行結束時返回聚合值。

tags:
聲明:本站稿件版權均屬千鋒教育所有,未經許可不得擅自轉載。
10年以上業內強師集結,手把手帶你蛻變精英
請您保持通訊暢通,專屬學習老師24小時內將與您1V1溝通
免費領取
今日已有369人領取成功
劉同學 138****2860 剛剛成功領取
王同學 131****2015 剛剛成功領取
張同學 133****4652 剛剛成功領取
李同學 135****8607 剛剛成功領取
楊同學 132****5667 剛剛成功領取
岳同學 134****6652 剛剛成功領取
梁同學 157****2950 剛剛成功領取
劉同學 189****1015 剛剛成功領取
張同學 155****4678 剛剛成功領取
鄒同學 139****2907 剛剛成功領取
董同學 138****2867 剛剛成功領取
周同學 136****3602 剛剛成功領取
相關推薦HOT
色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍
欧美日韩一二三区| 欧美电影一区二区| 国内久久精品视频| 欧美成人三级电影在线| 日韩电影在线观看网站| 欧美三级三级三级| 五月天激情综合| 欧美美女网站色| 日韩经典一区二区| 久久美女高清视频| 风间由美中文字幕在线看视频国产欧美| 色综合久久久久网| 国产夫妻精品视频| 欧美在线你懂得| 国产在线一区观看| 久久久久久久综合色一本| 激情久久五月天| 久久精品日韩一区二区三区| 国产一区美女在线| 久久久精品国产99久久精品芒果| 国内精品免费**视频| 丝袜美腿亚洲色图| 欧美曰成人黄网| 高清成人在线观看| 中文字幕高清不卡| 中文字幕一区二区在线观看| 欧美日韩一区三区| 亚洲色图视频网| 日韩精品免费视频人成| 99国内精品久久| 久久久美女艺术照精彩视频福利播放| 国产欧美一区二区在线观看| 日韩一区二区三区观看| 色综合视频在线观看| 日韩黄色免费网站| 国产欧美一区二区三区在线老狼| 亚洲欧美偷拍三级| 欧美一级高清大全免费观看| 福利一区二区在线观看| 天天综合日日夜夜精品| 久久精品水蜜桃av综合天堂| 欧美体内she精高潮| 成人晚上爱看视频| 精品一区二区三区不卡 | 成人免费视频app| 日韩电影免费在线| 婷婷成人激情在线网| 一区二区三区精品视频在线| 国产精品久久久久影视| 久久伊99综合婷婷久久伊| 欧美一区二区三区视频免费播放| 91日韩精品一区| 99国产精品99久久久久久| 成人精品小蝌蚪| 99久久99久久综合| 91视视频在线观看入口直接观看www| 激情综合亚洲精品| 成人免费毛片高清视频| 懂色av一区二区在线播放| 不卡欧美aaaaa| av一本久道久久综合久久鬼色| 成人av在线观| 成人性生交大片免费看视频在线 | 91黄色小视频| 日本一区二区三区电影| 国产大陆亚洲精品国产| 亚洲h在线观看| 奇米888四色在线精品| 欧美高清视频一二三区| 色综合天天狠狠| 一本到不卡精品视频在线观看| 奇米亚洲午夜久久精品| 97aⅴ精品视频一二三区| 国产女同性恋一区二区| 国产盗摄视频一区二区三区| 国产亚洲制服色| 欧美视频一区二区在线观看| 国产精品911| 99国产精品久| 欧美在线制服丝袜| 欧美大片在线观看一区| 国产欧美日韩三级| 亚洲地区一二三色| 国产一区二区福利视频| 色偷偷88欧美精品久久久| 欧美日韩你懂得| 久久久噜噜噜久久中文字幕色伊伊| 国产精品女同互慰在线看| 亚洲成人综合网站| 国产盗摄精品一区二区三区在线 | 91在线观看污| 欧美日韩一级片在线观看| 久久久99久久精品欧美| 亚洲一卡二卡三卡四卡五卡| 国产一区二区电影| 欧美一区二区三区在线观看 | 精品视频全国免费看| 国产精品午夜电影| 久久免费国产精品| 日韩欧美国产成人一区二区| 成人黄色小视频| 性做久久久久久久免费看| 日本一区二区三区久久久久久久久不| 国产精品青草久久| 欧美一区二区三区视频免费| 99视频热这里只有精品免费| 日韩精品在线看片z| 337p亚洲精品色噜噜噜| 99re热这里只有精品视频| 亚洲成人先锋电影| 亚洲欧洲日韩综合一区二区| 99精品欧美一区二区蜜桃免费| 国产在线视视频有精品| 91精品国产综合久久蜜臀| 国产在线视频一区二区| 久久久久国色av免费看影院| 成人成人成人在线视频| 欧美妇女性影城| 久久免费看少妇高潮| 日韩激情视频在线观看| 在线精品视频免费观看| 在线不卡一区二区| 亚洲视频一区二区在线| 天天综合色天天综合| 777午夜精品免费视频| 一区二区在线观看不卡| 色国产综合视频| 亚洲制服欧美中文字幕中文字幕| thepron国产精品| 亚洲欧美激情小说另类| 欧美天堂亚洲电影院在线播放| 亚洲综合成人在线| 欧美大片免费久久精品三p| 国产一区二区伦理片| 亚洲国产精华液网站w| av亚洲精华国产精华精华| 亚洲精品国产品国语在线app| 在线观看国产精品网站| 日本成人在线一区| 亚洲国产精品99久久久久久久久| 欧美亚一区二区| 国产一区三区三区| 一区二区三区在线视频观看| 91麻豆精品国产91久久久 | 国产福利一区二区三区在线视频| 国产欧美一区二区在线观看| 91黄色激情网站| 欧美三级视频在线观看| 国产suv一区二区三区88区| 夜色激情一区二区| 久久久久久综合| 91在线免费看| 国产高清在线观看免费不卡| 性欧美大战久久久久久久久| 国产精品无遮挡| 日韩欧美国产一区二区在线播放| 国产成人在线看| 蜜臀av亚洲一区中文字幕| 一级做a爱片久久| 国产精品你懂的在线欣赏| 日韩欧美一区二区三区在线| 91在线视频网址| 国产成人精品aa毛片| 韩国欧美一区二区| 男人的j进女人的j一区| 亚洲国产成人高清精品| 亚洲欧美日韩久久| 欧美国产成人在线| 久久午夜色播影院免费高清| 欧美日韩aaaaaa| 精品视频一区二区不卡| 91香蕉视频污在线| 成人av在线网站| jizzjizzjizz欧美| 大尺度一区二区| 成人av电影在线网| 国产99精品国产| 成人黄色片在线观看| 丰满岳乱妇一区二区三区| 国精产品一区一区三区mba桃花| 蜜臀a∨国产成人精品| 麻豆91精品视频| 国产真实乱子伦精品视频| 美女高潮久久久| 国产传媒日韩欧美成人| 丰满放荡岳乱妇91ww| 成人美女视频在线看| 盗摄精品av一区二区三区| 国产91精品免费| 99视频在线观看一区三区| 色婷婷综合视频在线观看| 欧美色图12p| 久久亚洲一区二区三区明星换脸 | 日韩视频在线一区二区| 欧美大片拔萝卜| 欧美激情一区不卡| 一卡二卡三卡日韩欧美| 精品影院一区二区久久久| 成人午夜在线播放| 欧美日韩国产电影|