<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          12 個(gè)你可能還未使用的 JS 技巧

          共 3832字,需瀏覽 8分鐘

           ·

          2021-07-05 04:08

          英文 | https://levelup.gitconnected.com/12-javascript-features-youve-probably-never-used-db932c413cdd

          翻譯 | 楊小二


          當(dāng)我使用 JavaScript 開(kāi)始我的 Web 開(kāi)發(fā)生涯時(shí)。我喜歡尋找技巧和技巧來(lái)縮短我的代碼編寫(xiě)時(shí)間和精力。我主要在 Quora 和 StackOverflow 等熱門(mén)網(wǎng)站上搜索 JavaScript 技巧或者答案來(lái)解決自己遇到的問(wèn)題。
          在本文中,我將向你展示 12 個(gè)你可能從未使用過(guò)或覺(jué)得學(xué)習(xí) JavaScript很有趣的功能。

          1 、短循環(huán)

          你知道在 JavaScript 中你可以在一行中縮短循環(huán)嗎?這意味著你現(xiàn)在可以為循環(huán)編寫(xiě)更少的代碼。
          var names = ["John", "Trevor", "Steve", "Jacob"]// long methodfor(var i = 0;  i < names.length; i++) {   console.log(names[i])}//short single line methodfor(let name of names) console.log(name)

          2、調(diào)整一個(gè)數(shù)組的長(zhǎng)度

          你知道我們可以使用 JavaScript length方法調(diào)整數(shù)組的大小嗎?長(zhǎng)度不僅用于獲取數(shù)組的大小。如果我們將數(shù)組的長(zhǎng)度設(shè)置為任意數(shù)字,它將對(duì)數(shù)組進(jìn)行切片。

          var array1 = [1, 2, 3, 4, 5, 6]var array2 = ["Python", "JavaScript", "C++", "Dart"]array1.length=3array2.length=1console.log(array1) // [1, 2, 3]console.log(array2) // ["Python"]

          3、函數(shù)參數(shù)

          你不需要定義函數(shù)參數(shù),你可以將函數(shù)參數(shù)用作數(shù)組對(duì)象,而無(wú)需在函數(shù)實(shí)現(xiàn)時(shí)聲明參數(shù)。

          function add() // no paramter is defined{  var sum = 0  for(var i=0; i < arguments.length; i++)  {      sum=sum + arguments[i]
          } console.log("Total Sum : ", sum) // Total Sum : 9}// calling functionadd(1, 3, 5)

          4、 JavaScript 中的時(shí)間戳

          你知道在 JavaScript 中我們有很多方法可以使用 Date 方法來(lái)獲取日期嗎?查看下面的代碼示例。

          // original methodvar date = new Date()timestamp = date.getDate()console.log(timestamp)// shorter methodtimestamp = new Date().getDate()console.log(timestamp)// shortest methodtimestamp += new Date();console.log(timestamp)

          5、刪除數(shù)組中的一個(gè)值

          通常,我們使用 delete 方法從數(shù)組中刪除一個(gè)項(xiàng)目。但這就是在陣列中打孔的方法。它將 undefined 放在刪除項(xiàng)目索引上。

          我們可以使用該splice方法做一些工作,但它會(huì)從數(shù)組中完全刪除索引,而不會(huì)留下任何漏洞。

          // synatax :  splice(array index, number of value to delete )var array = [1, 2, 3, 4, 5, 6]//delete methoddelete array[4]//splice methodarray.splice(4,1) console.log(array) // [1, 2, 3, 4, 6]

          6、JavaScript 中的 IN 運(yùn)算符

          通過(guò)使用in運(yùn)算符,你可以檢查對(duì)象中是否存在鍵。當(dāng)你檢查對(duì)象中是否存在特定鍵時(shí),這個(gè)技巧就會(huì)派上用場(chǎng)。

          var a = 4 var b = 5 var list = {1:7, 3:9, 4:0, 2:9}console.log(a in list) //true console.log(b in list) // false

          7、JavaScript 字符串填充

          JavaScript 填充用在字符串文本中添加。我們可以在字符串的開(kāi)頭或結(jié)尾添加填充。這是padStartand的語(yǔ)法padEnd。

          padStart(targetLength, padString(optional))padEnd(targetLength, padString(optional))

          PadString 是兩種 Padding 方法中的可選參數(shù)。下面是理解他們工作的代碼示例。

          console.log("123".padStart(5)) // 123 console.log("123".padStart(5, "0")) // 00123console.log("123".padEnd(5, "0")) // 12300 console.log("123".padEnd(10, "0")) // 1230000000

          8、Power ** 運(yùn)算符

          此功能將為你節(jié)省大量數(shù)學(xué)計(jì)算時(shí)間。你可能使用Math.pow()函數(shù)來(lái)計(jì)算數(shù)字的冪。但我們可以使用 ** 運(yùn)算符代替它。

          // old methodvar p = Math.pow(2,5)console.log(p) // 32// new methodvar p = 2**5console.log(p) // 32

          你會(huì)認(rèn)為Math.pow()仍然是最好的方法。那么使用這種方法的長(zhǎng)數(shù)學(xué)方程呢?

          // old methodvar p = Math.pow(2,5) + Math.pow(2,5) + Math.pow(2,1) + Math.pow(2,3) + Math.pow(2,4) + Math.pow(2,9)console.log(p) // 602// new methodvar p = 2**5 + 2**5 + 2**1 + 2**3 + 2**4 + 2**9console.log(p) // 602

          嗯,它比使用Math.pow()函數(shù)更清晰易懂。

          9、includes()

          我敢打賭,你們中的大多數(shù)人都用來(lái)indexOf在數(shù)組中查找元素。不要使用那個(gè)方法。因?yàn)槲覀冇懈玫姆椒▉?lái)做同樣的工作。使用include方法而不是indexOf返回布爾值的結(jié)果。

          var array = ["Python", "JavaScript", "C++", "Dart", "JAVA"]console.log(array.includes("JavaScript")) //Trueconsole.log(array.includes("C#")) // false

          10、重定向到 URL

          JavaScript 有一些方法可以在你執(zhí)行代碼后,將你重定向到瀏覽器中的網(wǎng)站。當(dāng)用戶(hù)在網(wǎng)站上執(zhí)行任何操作并且 JavaScript 將用戶(hù)重定向到另一個(gè) URL 時(shí),這個(gè)就會(huì)派上用場(chǎng)。

          const Redirect = (url, asLink = true) => asLink ? (window.location.href = url) : window.location.replace(url);redirect('https://medium.com/@codedev101')

          11、一元運(yùn)算符 (+)

          一元運(yùn)算符可以方便地將字符串?dāng)?shù)字轉(zhuǎn)換為數(shù)字格式并將日期轉(zhuǎn)換為毫秒??纯聪旅娴拇a示例。

          var strnum = "324.5"var num = +strnumconsole.log(num) // 324.5var currentDate = new Date(); var millisSince = +currentDate;console.log(millisSince)

          12、將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù)(快速方法)

          要將浮點(diǎn)數(shù)轉(zhuǎn)換為整數(shù),你必須使用Math.floor()、Math.round()和Math.ceil()方法,但你可以使用|按位 OR 運(yùn)算符以更快的方式進(jìn)行轉(zhuǎn)換。查看下面的代碼示例。

          // old wayconsole.log(Math.floor(23.56))// Quick wayconsole.log(23.56 | 0)

          最后的想法

          我希望你會(huì)發(fā)現(xiàn) JavaScript 的這些特性和技巧有用且有趣,并且你發(fā)現(xiàn)了任何新技巧,請(qǐng)?jiān)诹粞詤^(qū)與我分享它們。

          如果你覺(jué)得這篇文章有幫助,請(qǐng)點(diǎn)一個(gè)贊。

          感謝你的閱讀,編程愉快!


          學(xué)習(xí)更多技能

          請(qǐng)點(diǎn)擊下方公眾號(hào)

          瀏覽 47
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  www.逼逼 | 免费看无码一级A片放24小时 | 国产精品自拍偷拍 | 人妻巨大乳HD无码 | 91插插|