精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

你可能不知道的幾個JavaScript原生方法

開發 前端
自ES6發行以來,許多新的,便捷的原生方法已添加到JavaScript的新標準中。然而,我在GitHub的代碼庫中看到了很多舊的代碼。這并不意味著它們一定是壞的,但我要介紹的這些功能將幫助你的代碼更可讀,更漂亮。

自ES6發行以來,許多新的,便捷的原生方法已添加到JavaScript的新標準中。

你可能不知道的幾個JavaScript原生方法

然而,我在GitHub的代碼庫中看到了很多舊的代碼。這并不意味著它們一定是壞的,但我要介紹的這些功能將幫助你的代碼更可讀,更漂亮。

Number.isNaN vs. isNaN

NaN 是數字類型。

  1. typeof NaN === 'number' // true 

因此,你無法區分 NaN 和數字。

甚至 Object.prototype.toString.call 都為 NaN 和數字返回 [object Number]。你可能已經知道可以使用 isNaN 方法檢查參數是否為NaN。但是從ES6開始,number構造函數已開始將 isNaN 作為其方法。那有什么不同?

  • isNaN——檢查傳遞的值是不是數字還是不能轉換為數字。
  • Number.isNaN——檢查傳遞的值是否不是數字。

下面是這個例子。

  1. Number.isNaN({}); 
  2. // <- false, {} is not NaN 
  3. Number.isNaN('ponyfoo') 
  4. // <- false, 'ponyfoo' is not NaN 
  5. Number.isNaN(NaN) 
  6. // <- true, NaN is NaN 
  7. Number.isNaN('pony'/'foo') 
  8. // <- true, 'pony'/'foo' is NaN, NaN is NaN 
  9.  
  10. isNaN({}); 
  11. // <- true, {} is not a number 
  12. isNaN('ponyfoo') 
  13. // <- true, 'ponyfoo' is not a number 
  14. isNaN(NaN) 
  15. // <- true, NaN is not a number 
  16. isNaN('pony'/'foo') 
  17. // <- true, 'pony'/'foo' is NaN, NaN is not a number 

Number.isFinite vs. isFinite

在JavaScript中,諸如1/0之類的計算不會產生錯誤。相反,它為你提供了 Infinit(無限),這是一個全局屬性。

那么,如何檢查一個值是否是Infinit呢?你不能,但是你可以用 isFinite 和 Number.isFinite 來檢查一個值是否是有限值。

它們的工作原理基本相同,但彼此之間略有不同。

  • isFinite——檢查傳遞的值是否有限。如果傳遞的值的類型不是數字,則將其轉換為數字。
  • Number.isFinite——檢查傳遞的值是否有限。傳遞的值不會轉換為數字。

示例:

  1. Number.isFinite(Infinity) // false 
  2. isFinite(Infinity) // false 
  3.  
  4. Number.isFinite(NaN) // false 
  5. isFinite(NaN) // false 
  6.  
  7. Number.isFinite(2e64) // true 
  8. isFinite(2e64) // true 
  9.  
  10. Number.isFinite(undefined) // false 
  11. isFinite(undefined) // false 
  12.  
  13. Number.isFinite(null) // false 
  14. isFinite(null) // true 
  15.  
  16. Number.isFinite('0') // false 
  17. isFinite('0') // true 

Math.floor vs. Math.trunc

在過去,當你需要把數字取整時你可能會用 Math.floor。但是從現在開始,如果你真正想要的只是整數部分,請嘗試使用 Math.trunc。

  • Math.floor——返回小于或等于給定數字的最大整數。
  • Math.trunc——截斷點和右邊的數字。

基本上,如果給定數為正,它們將為你返回完全相同的結果。但是,如果給定數為負數,結果將有所不同。

  1. Math.floor(1.23) // 1 
  2. Math.trunc(1.23) // 1 
  3. Math.floor(-5.3) // -6 
  4. Math.trunc(-5.3) // -5 
  5. Math.floor(-0.1) // -1 
  6. Math.trunc(-0.1) // -0 

Array.prototype.indexOf vs. Array.prototype.includes

當你在給定數組中尋找某個值時,如何找到它?我已經看到很多開發人員都使用 Array.prototype.indexOf,如以下示例所示。

  1. const arr = [1, 2, 3, 4]; 
  2. if (arr.indexOf(1) > -1) { 
  3.   ... 

他們的區別如下:

  • Array.prototype.indexOf——返回可以在數組中找到給定元素的第一個索引;如果不存在,則返回 -1
  • Array.prototype.includes——檢查給定數組是否包含你要查找的特定值,并返回 true / false 作為結果

示例:

  1. const students = ['Hong', 'James', 'Mark', 'James']; 
  2.  
  3. students.indexOf('Mark') // 1 
  4. students.includes('James') // true 
  5.  
  6. students.indexOf('Sam') // -1 
  7. students.includes('Sam') // false 

小心!由于Unicode差異,傳遞的值區分大小寫。

String.prototype.repeat vs. 手動循環

在添加這個功能之前,你制作字符串的方式是復制字符串,比如 abcabcabc,然后將其串聯成一個空的字符串,無論你想要多少次,都可以將其串聯起來。

  1. var str = 'abc'
  2. var res = ''
  3. var copyTimes = 3
  4. for (var i = 0; i < copyTimes; i += 1) { 
  5.   for (var j = 0; j < str.length; j += 1) { 
  6.     res += str[j]; 
  7.   } 

但這太長了,非常混亂,有時很難閱讀。為此,可以使用 String.prototype.repeat。你要做的就是傳遞數字,該數字表示你要復制字符串的次數。

  1. 'abc'.repeat(3) // "abcabcabc" 
  2. 'hi '.repeat(2) // "hi hi " 
  3.  
  4. 'empty'.repeat(0) // "" 
  5. 'empty'.repeat(null) // "" 
  6. 'empty'.repeat(undefined) // "" 
  7. 'empty'.repeat(NaN) // "" 
  8.  
  9. 'error'.repeat(-1) // RangeError 
  10. 'error'.repeat(Infinity) // RangeError 

傳入的值不能為負數,而且必須小于無窮大,不能是溢出的最大字符串大小。

你可能不知道的幾個JavaScript原生方法

String.prototype.match vs. String.prototype.includes

要檢查字符串中是否包含某些單詞,有兩種方法:match 和 includes。

  • String.prototype.match——采用RegExp類型的參數,可以使用RegExp中所有支持的標志。
  • String.prototype.includes——采用兩個參數,searchString 作為第一個參數,而 position 作為第二個參數。如果 position 沒有通過,將使用默認值 0。

區別在于,includes是區分大小寫的,而 match 則不區分大小寫。你可以將 i 標志放在RegExp中,以使其不區分大小寫。

  1. const name = 'jane'
  2. const nameReg = /jane/i; 
  3.  
  4. const str = 'Jane is a student'
  5.  
  6. str.includes(name) // false 
  7. str.match(nameReg)  
  8. // ["Jane", index: 0, input: "Jane is a student", groups: undefined] 

String.prototype.concat vs. String.prototype.padStart

當你想在某些字符串的開頭附加一些字符串時,padStart 是一種功能強大的方法。

另外,concat 也可以很好地執行這個功能。但主要的區別在于 padStart 重復了從結果字符串的第一個索引到當前字符串的第一個索引的字符串。

下面演示如何使用這個功能:

  1. const rep = 'abc'
  2. const str = 'xyz'

這是兩個字符串。我想做的是在 xyz 前面添加 rep,但不僅是一次,我希望重復幾次。padStart 需要兩個參數——新創建的結果字符串的總長度和將被重復的字符串。

  1. str.padStart(10, rep); // "abcabcaxyz" 

這個功能很好用,這個功能用 concat 肯定是很難做到的,concat 也是執行字符串附加的。

padEnd 從位置的結尾開始。

結論

在JavaScript中,有很多有趣而有用的方法并不普遍。但這并不意味著它們沒有用處。這一切都取決于你如何在各種情況下使用它們。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2012-11-23 10:57:44

Shell

2019-11-20 10:25:06

sudoLinux

2015-08-13 09:03:14

調試技巧

2021-01-05 11:22:58

Python字符串代碼

2020-01-29 19:40:36

Python美好,一直在身邊Line

2023-02-27 09:20:24

絕對定位CSS

2023-01-29 09:46:47

Dialog彈窗模態

2017-11-07 21:58:25

前端JavaScript調試技巧

2020-11-03 09:51:04

JavaScript開發 技巧

2019-11-25 14:05:47

Python裝飾器數據

2014-12-08 10:39:15

2021-07-12 07:59:06

安全 HTML 屬性

2025-03-19 09:46:45

2024-09-11 16:21:09

2021-12-17 00:10:00

ChromeDevtools功能

2018-05-10 11:50:13

Docker容器冷知識

2020-03-05 11:10:18

Left join數據庫MySQL

2015-05-14 15:59:33

DockerLinux容器管理工具

2010-07-21 12:37:11

Linux用戶

2011-02-14 16:11:44

點贊
收藏

51CTO技術棧公眾號

亚洲高清影院| 哥也色在线视频| 日韩电影免费一区| 美女福利精品视频| 国产精品无码毛片| 色成人综合网| 色综合天天综合色综合av| 一个色的综合| 蝌蚪视频在线播放| 国产成人av影院| 国产精品日韩专区| 久草视频在线观| 欧美国产高清| 日韩在线中文字| 黄色性生活一级片| 精品99re| 欧美精品v国产精品v日韩精品 | 一本一本久久a久久| 成人三级毛片| 欧美一级黄色片| 一区二区三区 欧美| av资源中文在线| 亚洲色图视频免费播放| 日本视频一区二区不卡| 天天插天天干天天操| 国产一区二区伦理| 国产精品一区二区三| 无码视频一区二区三区| 亚洲黄页一区| 久久久久久久久久久免费| 亚洲综合久久av一区二区三区| 经典一区二区| 亚洲美女av网站| 强迫凌虐淫辱の牝奴在线观看| 日韩欧美高清一区二区三区| 6080午夜不卡| 亚洲精品手机在线观看| 福利一区二区| 欧美日韩国产a| 人人干人人干人人| 51一区二区三区| 91国产免费观看| 黄色高清无遮挡| 欧美gay囗交囗交| 色综合久久久久综合99| 爱福利视频一区二区| 在线免费看h| 欧美视频一区二区三区…| www.av片| 成人片免费看| 色偷偷久久人人79超碰人人澡| 亚洲色欲综合一区二区三区| 黑人巨大精品| 欧美在线影院一区二区| 亚洲欧美自偷自拍另类| 91精品福利观看| 欧美一区二区三区色| 先锋资源在线视频| 爱高潮www亚洲精品| 日韩成人小视频| 短视频在线观看| 精品日韩免费| 久久精品国产亚洲精品2020| 欧美日韩午夜视频| 精品9999| 国产成人精品av在线| 一区二区三区亚洲视频| 国产乱码精品一区二区三区av| 97自拍视频| 视频在线观看你懂的| 久久亚洲一区二区三区明星换脸| 神马影院我不卡| 精品国产99久久久久久| 亚洲一区二区三区四区五区中文 | 日韩中文字幕亚洲一区二区va在线| 国产成人精品电影| 国产免费久久久| 成人免费的视频| 日本免费高清一区二区| 麻豆系列在线观看| 亚洲国产日韩a在线播放| 欧美日韩亚洲一| 色999久久久精品人人澡69 | 淫片在线观看| 亚洲成在人线在线播放| 欧美性猛交xxx乱久交| 激情不卡一区二区三区视频在线| 日韩h在线观看| 欧美成人久久久免费播放| 国产精品chinese| 国产97在线观看| 精品人妻伦一二三区久久| 91色婷婷久久久久合中文| 中文字幕欧美日韩一区二区| 黄色视屏在线免费观看| 欧美另类一区二区三区| 久久无码人妻精品一区二区三区| 国产精品伦理久久久久久| 亚洲**2019国产| 在线免费观看日韩视频| youjizz久久| 中文字幕中文字幕在线中心一区| 男人的天堂免费在线视频| 欧美精品久久一区| 欧美狂猛xxxxx乱大交3| 欧美涩涩视频| 成人午夜黄色影院| 久久经典视频| 亚洲成人你懂的| 欧美视频亚洲图片| 国产一区二区欧美| 国外视频精品毛片| 精品人妻一区二区三区蜜桃| 国产精品午夜电影| 777久久久精品一区二区三区 | 日韩久久精品一区| 手机免费观看av| 天堂久久一区二区三区| 国产乱码精品一区二区三区不卡| 久久亚洲天堂| 欧美日韩和欧美的一区二区| 国产小视频自拍| 亚洲欧美日韩国产综合精品二区 | 天堂中文资源在线观看| 亚洲视频图片小说| 美女少妇一区二区| 国产99久久| 欧美中在线观看| 天堂在线一二区| 亚洲成人久久影院| 韩国三级在线看| 欧美亚韩一区| 成人自拍视频网站| 色av手机在线| 日韩亚洲欧美在线| 青青草原在线免费观看| 国产精品一区三区| 天天在线免费视频| 精品午夜av| 欧美理论电影在线观看| 亚洲黄色在线播放| 一区二区在线免费| 亚洲一级Av无码毛片久久精品| 欧美日韩亚洲国产精品| 99电影网电视剧在线观看| 91在线中文| 欧美精品一区二区三区四区| 久久久久久天堂| 成人免费毛片片v| a级黄色一级片| 久久香蕉精品香蕉| 日本精品va在线观看| 三级做a全过程在线观看| 狠狠色狠狠色综合日日小说| 国产肉体xxxx裸体784大胆| 久久国产精品久久久久久电车| 欧美不卡在线一区二区三区| 亚洲1234区| 日韩视频第一页| www国产在线| 无吗不卡中文字幕| 免费观看a级片| 久草热8精品视频在线观看| 国产免费一区二区三区四在线播放| 日韩一区免费| 欧美一区二区影院| 视频一区二区三区不卡| 欧美mv和日韩mv国产网站| 日韩视频免费观看高清| 国产欧美一区二区三区在线老狼| 黄大色黄女片18第一次| 欧美日韩久久| 欧美日韩在线观看一区二区三区| 欧美黄色成人| 欧美激情精品久久久久久免费印度| 天天躁日日躁狠狠躁喷水| 日本道在线观看一区二区| 亚洲色图 激情小说| 东方欧美亚洲色图在线| 国产免费一区二区三区视频| 久久福利综合| 久久精品ww人人做人人爽| 国产精品xxx| 97高清免费视频| av女优在线| 亚洲大尺度美女在线| 国产成人麻豆免费观看| 亚洲综合在线观看视频| 国产又粗又猛又爽又黄av| 国产福利不卡视频| www日韩视频| 在线欧美视频| 在线视频91| 偷拍自拍亚洲色图| 亚洲wwwav| 91在线亚洲| 国语自产精品视频在免费| 欧美日韩欧美| 一本色道久久88亚洲综合88| 六月丁香综合网| 欧美人牲a欧美精品| 成人毛片在线播放| 亚洲高清中文字幕| 五月天激情丁香| 国产欧美日韩三区| 97人妻天天摸天天爽天天| 国产一区二区调教| 日本特黄a级片| 亚洲综合国产| 日韩中字在线观看| 婷婷伊人综合| 亚洲欧美电影在线观看| 亚洲精品aaaaa| 国产视频不卡| 亚洲成av人片在线观看www| 国产精品亚洲激情| 电影亚洲精品噜噜在线观看| 91国内精品久久| 伊人手机在线| 久久视频在线播放| 免费大片黄在线| 中文在线资源观看视频网站免费不卡| 午夜在线观看视频18| 亚洲国产精品免费| 日本黄色一区二区三区| 精品免费日韩av| 国产视频www| 91精品国模一区二区三区| 中国黄色一级视频| 欧美中文字幕久久| 中文精品久久久久人妻不卡| 日本乱人伦aⅴ精品| 九九精品免费视频| 欧美性xxxx在线播放| 日韩在线视频免费播放| 午夜精品aaa| 日韩男人的天堂| 午夜激情久久久| 日韩特黄一级片| 欧美性精品220| 国产精品va无码一区二区三区| 大伊人狠狠躁夜夜躁av一区| 亚洲伊人成人网| 一本久道久久综合中文字幕| 亚洲精品中文字幕乱码三区91| 欧美性xxxxx| 国产精品国产精品国产| 欧美日韩成人综合在线一区二区 | 亚洲成人av中文字幕| 欧美 日韩 中文字幕| 亚洲国产欧美在线成人app| 香蕉久久国产av一区二区| 精品亚洲一区二区三区在线播放 | 亚洲一区在线免费观看| 国产精品a成v人在线播放| 五月天一区二区| 亚洲永久精品一区| 欧美福利一区二区| 午夜久久久久久久久久| 精品爽片免费看久久| 第一福利在线| 久久成人18免费网站| 草美女在线观看| 国产福利成人在线| 精品视频国内| 久精品国产欧美| 日韩精品中文字幕第1页| 国内外成人激情免费视频| 欧美亚洲不卡| 国产成人无码av在线播放dvd| 精品一区免费av| 大桥未久恸哭の女教师| 国产偷国产偷亚洲高清人白洁| 波多野结衣久久久久| 午夜精品福利久久久| 亚洲天堂网视频| 欧美精品一区二区三| 91在线播放网站| 欧美高清视频在线观看| 欧美片第一页| 91最新在线免费观看| 一区二区美女| 女同性恋一区二区| 欧美亚洲专区| 欧美专区第二页| 久久久久久久久久久久久夜| 成人免费精品动漫网站| 欧美三级xxx| 精品国产乱码久久久久久蜜臀网站| 日韩风俗一区 二区| 国产精品一卡二卡三卡| 日本成人黄色片| 第一区第二区在线| 手机福利在线视频| 蜜桃伊人久久| 黄色av电影网站| 亚洲欧洲精品成人久久奇米网| 精品成人久久久| 日韩午夜电影在线观看| 91精彩在线视频| 欧美一级免费视频| 91蜜桃臀久久一区二区| 亚洲综合网中心| 日韩中文欧美在线| 精品国产av色一区二区深夜久久| 亚洲色图19p| 中文字幕视频一区二区| 亚洲欧美变态国产另类| 大黄网站在线观看| 91嫩草在线| 99成人在线视频| 男女污污的视频| 91一区二区在线观看| 精品肉丝脚一区二区三区| 欧美日本免费一区二区三区| 国际av在线| 欧美中文在线观看国产| 91精品日本| 天天想你在线观看完整版电影免费| 久久成人免费日本黄色| 老熟妇一区二区| 一本久久a久久免费精品不卡| 天堂av网在线| 91超碰中文字幕久久精品| 成人在线超碰| 久久这里只有精品18| 国产一区二区三区黄视频| 麻豆精品国产免费| 欧美精品色一区二区三区| jizz在线观看中文| 国产精品jizz在线观看麻豆| 亚洲瘦老头同性70tv| 欧美色图色综合| 26uuu色噜噜精品一区| 三级黄色在线视频| 日韩成人黄色av| 天堂中文在线播放| αv一区二区三区| 国一区二区在线观看| 中文字幕一区二区三区四| 亚洲欧美日韩一区二区三区在线观看 | 欧美日韩一区二区三区四区在线观看 | 成人亚洲视频| 亚洲国产精品日韩| 久热成人在线视频| 久久国产波多野结衣| 日韩欧美资源站| av在线中出| 欧洲久久久久久| 麻豆极品一区二区三区| 91人妻一区二区三区蜜臀| 日韩午夜av一区| 僵尸再翻生在线观看免费国语| 久久久久久国产精品mv| 免费精品视频| 无码人妻丰满熟妇啪啪欧美| 欧美日韩高清一区二区三区| 91一区二区三区在线| 国产在线一区二区三区欧美| 久久亚洲国产精品一区二区| 日韩影视一区二区三区| 91麻豆精品91久久久久久清纯| 丁香花在线观看完整版电影| 久久riav二区三区| 奇米综合一区二区三区精品视频| 日本黄色片免费观看| 亚洲福利在线看| 精品欧美一区二区三区在线观看 | 久久夜色精品| 91n在线视频| 亚洲精品电影网| 亚洲伦理久久| 日韩极品视频在线观看| 久久久精品一品道一区| 国产婷婷一区二区三区久久| 91精品国产亚洲| 国产精品88久久久久久| 无码人妻一区二区三区在线| 在线免费观看日本一区| 日本aa在线| 天天人人精品| 国产suv精品一区二区三区| 中文字幕在线欧美| 久久综合88中文色鬼| 久久av综合| 免费观看污网站| 欧美三级乱人伦电影| 97人澡人人添人人爽欧美| 亚洲 国产 日韩 综合一区| 高清国产午夜精品久久久久久| 自拍偷拍校园春色| 欧美高清视频一区二区| 成人羞羞在线观看网站| 男女一区二区三区| 91麻豆精品国产91久久久 | 全网免费在线播放视频入口| 亚洲美女精品久久| 视频一区国产| 91福利免费观看| 色综合久久88色综合天天6 |