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

12個非常實用的JavaScript小技巧

開發(fā) 前端
在這篇文章中將給大家分享12個有關(guān)于JavaScript的小技巧。學會了些有用的JavaScript小技巧。希望這些小技巧能在工作中幫助你解決一些麻煩,或者說這篇文章對你有所幫助。如果你有一些優(yōu)秀的JavaScript小技巧,歡迎在評論中與我們一起分享。

在這篇文章中將給大家分享12個有關(guān)于JavaScript的小技巧。這些小技巧可能在你的實際工作中或許能幫助你解決一些問題。

[[166146]]

使用!!操作符轉(zhuǎn)換布爾值

有時候我們需要對一個變量查檢其是否存在或者檢查值是否有一個有效值,如果存在就返回true值。為了做這樣的驗證,我們可以使用!!操作符來實現(xiàn)是非常的方便與簡單。對于變量可以使用!!variable做檢測,只要變量的值為:0null" "undefined或者NaN都將返回的是false,反之返回的是true。比如下面的示例:

 

  1. function Account(cash) { 
  2.     this.cash = cash; 
  3.     this.hasMoney = !!cash; 
  4. var account = new Account(100.50); 
  5. console.log(account.cash); // 100.50 
  6. console.log(account.hasMoney); // true 
  7.  
  8. var emptyAccount = new Account(0); 
  9. console.log(emptyAccount.cash); // 0 
  10. console.log(emptyAccount.hasMoney); // false 

在這個示例中,只要account.cash的值大于0,那么account.hasMoney返回的值就是true

使用+將字符串轉(zhuǎn)換成數(shù)字

這個技巧非常有用,其非常簡單,可以交字符串數(shù)據(jù)轉(zhuǎn)換成數(shù)字,不過其只適合用于字符串數(shù)據(jù),否則將返回NaN,比如下面的示例:

  1. function toNumber(strNumber) { 
  2.     return +strNumber; 
  3. console.log(toNumber("1234")); // 1234 
  4. console.log(toNumber("ACB")); // NaN 

這個也適用于Date,在本例中,它將返回的是時間戳數(shù)字:

  1. console.log(+new Date()) // 1461288164385 

并條件符

如果你有一段這樣的代碼:

  1. if (conected) { 
  2.     login(); 

你也可以將變量簡寫,并且使用&&和函數(shù)連接在一起,比如上面的示例,可以簡寫成這樣:

  1. conected && login(); 

如果一些屬性或函數(shù)存在于一個對象中,你也可以這樣做檢測,如下面的代碼所示:

  1. user && user.login(); 

使用||運算符

在ES6中有默認參數(shù)這一特性。為了在老版本的瀏覽器中模擬這一特性,可以使用||操作符,并且將將默認值當做第二個參數(shù)傳入。如果***個參數(shù)返回的值為false,那么第二個值將會認為是一個默認值。如下面這個示例:

 

  1. function User(name, age) { 
  2.     this.name = name || "Oliver Queen"
  3.     this.age = age || 27
  4. var user1 = new User(); 
  5. console.log(user1.name); // Oliver Queen 
  6. console.log(user1.age); // 27 
  7.  
  8. var user2 = new User("Barry Allen"25); 
  9. console.log(user2.name); // Barry Allen 
  10. console.log(user2.age); // 25 

在循環(huán)中緩存array.length

這個技巧很簡單,這個在處理一個很大的數(shù)組循環(huán)時,對性能影響將是非常大的。基本上,大家都會寫一個這樣的同步迭代的數(shù)組:

  1. for(var i = 0; i < array.length; i++) { 
  2.     console.log(array[i]); 

如果是一個小型數(shù)組,這樣做很好,如果你要處理的是一個大的數(shù)組,這段代碼在每次迭代都將會重新計算數(shù)組的大小,這將會導致一些延誤。為了避免這種現(xiàn)象出現(xiàn),可以將array.length做一個緩存:

  1. var length = array.length; 
  2. for(var i = 0; i < length; i++) { 
  3.     console.log(array[i]); 

你也可以寫在這樣:

  1. for(var i = 0, length = array.length; i < length; i++) { 
  2.     console.log(array[i]); 

檢測對象中屬性

當你需要檢測一些屬性是否存在,避免運行未定義的函數(shù)或?qū)傩詴r,這個小技巧就顯得很有用。如果你打算定些一些跨兼容的瀏覽器代碼,你也可能會用到這個小技巧。例如,你想使用document.querySelector()來選擇一個id,并且讓它能兼容IE6瀏覽器,但是在IE6瀏覽器中這個函數(shù)是不存在的,那么使用這個操作符來檢測這個函數(shù)是否存在就顯得非常的有用,如下面的示例:

  1. if ('querySelector' in document) { 
  2.     document.querySelector("#id"); 
  3. else { 
  4.     document.getElementById("id"); 

在這個示例中,如果document不存在querySelector函數(shù),那么就會調(diào)用docuemnt.getElementById("id")

獲取數(shù)組中***一個元素

Array.prototype.slice(begin,end)用來獲取beginend之間的數(shù)組元素。如果你不設置end參數(shù),將會將數(shù)組的默認長度值當作end值。但有些同學可能不知道這個函數(shù)還可以接受負值作為參數(shù)。如果你設置一個負值作為begin的值,那么你可以獲取數(shù)組的***一個元素。如:

  1. var array = [1,2,3,4,5,6]; 
  2. console.log(array.slice(-1)); // [6] 
  3. console.log(array.slice(-2)); // [5,6] 
  4. console.log(array.slice(-3)); // [4,5,6] 

數(shù)組截斷

這個小技巧主要用來鎖定數(shù)組的大小,如果用于刪除數(shù)組中的一些元素來說,是非常有用的。例如,你的數(shù)組有10個元素,但你只想只要前五個元素,那么你可以通過array.length=5來截斷數(shù)組。如下面這個示例:

  1. var array = [1,2,3,4,5,6]; 
  2. console.log(array.length); // 6 
  3. array.length = 3
  4. console.log(array.length); // 3 
  5. console.log(array); // [1,2,3] 

替換所有

String.replace()函數(shù)允許你使用字符串或正則表達式來替換字符串,本身這個函數(shù)只替換***次出現(xiàn)的字符串,不過你可以使用正則表達多中的/g來模擬replaceAll()函數(shù)功能:

  1. var string = "john john"
  2. console.log(string.replace(/hn/, "ana")); // "joana john" 
  3. console.log(string.replace(/hn/g, "ana")); // "joana joana" 

合并數(shù)組

如果你要合并兩個數(shù)組,一般情況之下你都會使用Array.concat()函數(shù):

  1. var array1 = [1,2,3]; 
  2. var array2 = [4,5,6]; 
  3. console.log(array1.concat(array2)); // [1,2,3,4,5,6]; 

然后這個函數(shù)并不適合用來合并兩個大型的數(shù)組,因為其將消耗大量的內(nèi)存來存儲新創(chuàng)建的數(shù)組。在這種情況之個,可以使用Array.pus().apply(arr1,arr2)來替代創(chuàng)建一個新數(shù)組。這種方法不是用來創(chuàng)建一個新的數(shù)組,其只是將***個第二個數(shù)組合并在一起,同時減少內(nèi)存的使用:

  1. var array1 = [1,2,3]; 
  2. var array2 = [4,5,6]; 
  3. console.log(array1.push.apply(array1, array2)); // [1,2,3,4,5,6]; 

NodeList轉(zhuǎn)換成數(shù)組

如果你運行document.querySelectorAll(“p”)函數(shù)時,它可能返回DOM元素的數(shù)組,也就是NodeList對象。但這個對象不具有數(shù)組的函數(shù)功能,比如sort()reduce()map()filter()等。為了讓這些原生的數(shù)組函數(shù)功能也能用于其上面,需要將節(jié)點列表轉(zhuǎn)換成數(shù)組。可以使用[].slice.call(elements)來實現(xiàn):

  1. var elements = document.querySelectorAll("p"); // NodeList 
  2. var arrayElements = [].slice.call(elements); // Now the NodeList is an array 
  3. var arrayElements = Array.from(elements); // This is another way of converting NodeList to Array 

數(shù)組元素的洗牌

對于數(shù)組元素的洗牌,不需要使用任何外部的庫,比如Lodash,只要這樣做:

  1. var list = [1,2,3]; 
  2. console.log(list.sort(function() { Math.random() - 0.5 })); // [2,1,3] 

總結(jié)

現(xiàn)在你學會了些有用的JavaScript小技巧。希望這些小技巧能在工作中幫助你解決一些麻煩,或者說這篇文章對你有所幫助。如果你有一些優(yōu)秀的JavaScript小技巧,歡迎在評論中與我們一起分享。

責任編輯:王雪燕 來源: w3cplus
相關(guān)推薦

2021-03-15 08:13:19

JavaScript開發(fā)代碼

2017-10-30 17:25:11

javascript

2024-06-11 00:09:00

JavaScript模式變量

2025-03-03 00:15:00

JavaScript開發(fā)效率

2015-11-02 09:25:07

jQuery代碼片段

2022-08-16 10:53:56

JavaScript前端技巧

2023-11-26 17:54:07

JavaScript開發(fā)

2024-08-21 14:55:02

2023-12-19 13:31:00

CSS前端技巧

2023-08-11 17:39:43

JavaScriptWeb 應用程序

2024-02-26 08:20:00

CSS開發(fā)

2022-11-01 15:57:44

2023-09-21 12:37:34

IDEA

2020-05-28 08:59:40

Python機器學習開發(fā)

2023-07-24 15:24:00

前端CSS 技巧

2020-06-23 08:28:26

前端開發(fā)技巧

2020-11-11 11:05:41

Linux工具命令

2020-09-23 09:13:47

Docker

2023-10-26 18:03:14

索引Python技巧

2011-05-19 13:15:44

PHP
點贊
收藏

51CTO技術(shù)棧公眾號

你懂的在线网址| 日韩欧美亚洲视频| 视频免费一区二区| 欧美日韩国产精品一区二区三区四区 | 日韩va亚洲va欧洲va国产| 成人免费观看视频在线观看| www黄在线观看| 国产精品99精品久久免费| 97国产在线观看| 国产馆在线观看| 91麻豆精品激情在线观看最新| 欧美丝袜第一区| 手机成人av在线| 青青青免费视频在线2| 国产一区二区三区香蕉| 青青青国产精品一区二区| 中日韩一级黄色片| 奇米色欧美一区二区三区| 日韩一级高清毛片| 国产av人人夜夜澡人人爽| 黑人另类精品××××性爽| 久久精品视频免费观看| 99视频日韩| 一区二区三区在线免费观看视频| 伊人成年综合电影网| 日韩最新av在线| 国产精品成人一区二区三区电影毛片| 伊人久久亚洲| 欧美日韩大陆在线| 黑鬼大战白妞高潮喷白浆| 成人在线高清免费| 亚洲欧美电影一区二区| 色女人综合av| 视频国产一区二区三区| 国产高清亚洲一区| 成人免费直播live| 在线观看中文字幕码| 久久国产毛片| 97人人爽人人喊人人模波多| 九九热这里有精品视频| 天天射综合网视频| 中文字幕久久精品| 精品人妻无码一区二区三区换脸| 欧美变态网站| 亚洲国产日韩欧美在线99| 国产在线观看中文字幕| 欧美日韩免费电影| 欧美日韩性生活| 999在线免费视频| 电影一区二区三区| 欧美日韩一二三四五区| 欧美一区二区三区爽大粗免费| xxxx成人| 亚洲444eee在线观看| 国内少妇毛片视频| 金瓶狂野欧美性猛交xxxx| 亚洲免费观看高清完整版在线观看熊 | 9久久婷婷国产综合精品性色| 日韩脚交footjobhd| 午夜成人免费电影| 浮妇高潮喷白浆视频| 看黄在线观看| 色综合久久久久久久久| 亚洲人成无码www久久久| 免费电影日韩网站| 欧美视频完全免费看| 久热精品在线播放| 国产一区二区视频在线看| 日韩一区二区三区在线| 好吊操视频这里只有精品| 97久久亚洲| 亚洲国产成人精品久久久国产成人一区 | 国产一区二区日韩精品欧美精品| 怡红院一区二区三区| 久久人体视频| 欧美老肥婆性猛交视频| 日韩欧美大片在线观看| 久久亚洲国产精品一区二区| 国产精品久久久一区| 91午夜交换视频| 国产精品一二三四| 久久草视频在线看| 成年人在线看| 一区二区日韩电影| 久久国产成人精品国产成人亚洲| 91精品影视| 欧美二区乱c少妇| 男人的天堂影院| 激情婷婷综合| 另类视频在线观看| 97超碰人人干| 久久99国产精品麻豆| 成人资源av| 国产资源在线观看| 一区二区三区在线观看欧美| 欧美激情国产精品日韩| 欧美男男gaygay1069| 亚洲国产精品99久久| 国产精品久久久久久久av| 欧美日韩hd| 国产精品成人免费电影| 成 人片 黄 色 大 片| xnxx国产精品| 老司机午夜免费福利视频| 春色校园综合激情亚洲| 欧美在线不卡一区| 国产精品99精品无码视亚| 欧洲美女日日| 性色av一区二区三区红粉影视| 在线免费看毛片| 91原创在线视频| 日本一本草久p| 日韩和的一区二在线| 精品国产乱码久久久久久久久| 高清国产在线观看| 一本色道久久综合| 亚洲一区二区中文字幕| 国产一区二区影视| 午夜精品一区二区三区三上悠亚| 五月天视频在线观看| 妖精视频一区二区三区| 欧美激情亚洲一区| 国产精品国产一区二区三区四区 | av福利导福航大全在线| 56国语精品自产拍在线观看| 久久成人激情视频| 亚洲一区二区网站| 波多野结衣一区二区三区在线观看| 98在线视频| 色婷婷综合久久久中文字幕| 亚洲色偷偷色噜噜狠狠99网 | 久久久久久一级片| 无码专区aaaaaa免费视频| 日韩在线观看一区二区三区| 色天天综合狠狠色| 中文字幕福利视频| 国产日韩影视精品| 日av中文字幕| 美女网站一区| 日韩美女中文字幕| 欧美91精品久久久久国产性生爱| 婷婷夜色潮精品综合在线| 第一页在线视频| 欧美~级网站不卡| 成人在线中文字幕| 国产原创视频在线观看| 欧美日韩高清一区二区不卡| 国产福利在线导航| 日本午夜一区二区| 亚洲一区二区高清视频| 成人国产综合| 日韩中文视频免费在线观看| 中文区中文字幕免费看| 国产欧美日韩综合精品一区二区| 少妇性l交大片| av中文一区| 国产日韩av在线| 黄色av电影在线播放| 91精品久久久久久久99蜜桃| 久久久久99精品成人片试看| 国产电影一区在线| 久久久久久久久久久99| 日韩电影不卡一区| 日本精品久久久久久久| h网站在线免费观看| 欧美视频三区在线播放| 日本一二三区在线观看| 国产 日韩 欧美大片| 黄色成人在线看| 精品中文一区| 国产精品人成电影在线观看| 成人在线免费看黄| 亚洲福利在线看| 免费看污视频的网站| 国产日产欧产精品推荐色| 亚洲第一区第二区第三区| 欧美成人高清| 久久久av水蜜桃| 日韩在线激情| 欧美黑人又粗大| 日本大片在线观看| 欧美精品色综合| 五月天综合在线| 国产清纯美女被跳蛋高潮一区二区久久w| 国产高清视频网站| 欧美激情视频一区二区三区免费| 精品国产福利| 福利一区视频| 国模精品系列视频| 黄上黄在线观看| 日韩一级免费观看| 国产精品久久久久久人| ...av二区三区久久精品| 中文字幕在线视频播放| 美国毛片一区二区三区| 欧美男女爱爱视频| 欧美另类69xxxxx| 高清视频一区二区三区| 黄色精品视频| 久久久久久久97| 自拍视频在线网| 亚洲国产精品电影| 一级黄在线观看| 欧美日韩中文字幕综合视频| 国产免费一区二区三区四区| 99精品视频在线观看免费| 日本中文字幕影院| 久久人人精品| 一卡二卡三卡视频| 91国语精品自产拍| 日韩欧美一区二区在线观看| 欧美aaaaa级| 99视频网站| 99tv成人影院| 国产精品视频久久久| 蜜桃视频动漫在线播放| 欧美人交a欧美精品| yjizz视频网站在线播放| 亚洲第一av网| 国产成人三级一区二区在线观看一 | 中文字幕日韩一区二区三区| 国产精品欧美在线观看| 国产精品乱码一区二区三区| 91成人短视频在线观看| 国产精品久久久久久久久久| 三级在线观看视频| 久久久天堂国产精品女人| 看黄网站在线| 在线日韩欧美视频| 全色精品综合影院| 日韩精品极品视频| 日本人妻熟妇久久久久久| 日韩一本二本av| 国产三级小视频| 欧美久久久久久久久中文字幕| www.日韩一区| 色国产精品一区在线观看| 久久不卡免费视频| 午夜精品123| 日韩精品在线免费视频| 亚洲va欧美va人人爽午夜| 亚洲国产精品久| 一区二区三区中文字幕精品精品 | 亚洲成人激情av| 动漫精品一区一码二码三码四码| 一区二区在线看| 欧美黑人一级片| 一区二区三区影院| 麻豆亚洲av熟女国产一区二| 一区二区高清免费观看影视大全| 最新一区二区三区| 亚洲乱码国产乱码精品精98午夜| 免费在线观看黄色小视频| 亚洲女同一区二区| 丰满少妇被猛烈进入一区二区| 一区二区三区在线观看国产 | 色呦呦网站一区| 波多野结衣视频观看| 在线观看欧美黄色| 中文字幕视频一区二区| 在线成人av网站| 99精品在线视频观看| 欧美成人猛片aaaaaaa| 高h放荡受浪受bl| 精品无人区太爽高潮在线播放 | 久久久久久久久久久久电影| 99se婷婷在线视频观看| 麻豆一区一区三区四区| 欧美一卡2卡3卡4卡无卡免费观看水多多| 国产精品一区2区3区| 一区二区欧美日韩| 午夜欧美理论片| 日日橹狠狠爱欧美超碰| 日本欧美一区二区在线观看| 青青草原国产在线视频| 国产精品996| 欧美在线一级片| 国产精品免费久久久久| 欧美极品视频在线观看| 欧美日韩国产精品一区二区不卡中文| 久久久久久无码精品大片| 欧美精品免费视频| 天天操天天操天天| 中文字幕日韩高清| 牛牛精品在线| 国产精品va在线播放| 精品中文视频| 欧美精品成人一区二区在线观看| 色综合狠狠操| 免费看日本毛片| 久久激情综合网| 亚洲精品激情视频| 中日韩免费视频中文字幕| 久久精品视频免费在线观看| 色婷婷综合久久久中文字幕| a天堂在线观看视频| 国产视频欧美视频| 50度灰在线| 国产精品99久久久久久久久久久久| 精品网站999| 日本午夜精品一区二区| 午夜日韩激情| 日本爱爱免费视频| www.66久久| 午夜爱爱毛片xxxx视频免费看| 色综合 综合色| 国产自产一区二区| 久久精品一区中文字幕| 欧美成人a交片免费看| 成人欧美一区二区三区黑人免费| 欧美综合一区| 欧美国产激情视频| 久草热8精品视频在线观看| 一区二区三区免费在线观看视频| 亚洲免费观看高清完整版在线观看| 无码任你躁久久久久久久| 亚洲成人999| 色黄网站在线观看| 国产视频999| 第四色成人网| 精品99在线视频| 不卡视频在线看| 欧美激情国产精品免费| 制服丝袜国产精品| 98在线视频| 国产精品美腿一区在线看| 伊人成综合网yiren22| 国产色一区二区三区| 国产精品综合二区| 成人涩涩小片视频日本| 欧美少妇bbb| www.亚洲视频| 国产精品高潮视频| 国产区精品区| 久久人妻精品白浆国产| 91丨porny丨首页| 亚洲精品视频在线观看免费视频| 欧美成人一区二区| 18加网站在线| 91嫩草免费看| 久久久久国产精品| 手机在线免费毛片| 亚洲欧美精品午睡沙发| 国产又粗又猛又爽又黄视频 | 久久涩涩网站| 亚洲日本视频| 久久久久国产精品无码免费看| 亚洲综合色噜噜狠狠| 黄色一级大片在线免费看国产| 欧美成人中文字幕| 国产在线视频欧美一区| 佐佐木明希av| 高清不卡在线观看av| 国产主播在线观看| 国产偷亚洲偷欧美偷精品| 国产高清不卡| 亚洲欧美99| 国产精品2024| 久久视频免费在线观看| 日韩av网站导航| 欧美激情喷水| 亚洲欧美日韩在线综合| 国产专区综合网| 久久人人爽人人爽人人| 日韩av在线影院| 欧美××××黑人××性爽| 亚洲人体一区| 国产精品一区二区黑丝| 国产午夜精品一区二区理论影院| 亚洲精品久久久一区二区三区| 成人性生交大片免费观看网站| 亚洲精品中文综合第一页| 国产乱人伦偷精品视频免下载| 国产无遮挡又黄又爽又色| 亚洲另类图片色| 日韩国产91| 欧美亚洲日本一区二区三区 | 午夜爱爱毛片xxxx视频免费看| 日韩欧美国产麻豆| 深夜在线视频| 亚洲第一精品区| av网站免费线看精品| 少妇又紧又色又爽又刺激视频| 日韩视频免费中文字幕| 一级毛片精品毛片| 亚洲人成无码www久久久| 亚洲免费观看在线观看| 美女毛片在线看| 91在线视频一区| 亚洲女人av| 青青草原在线免费观看| 国产视频精品免费播放| 日韩精品第二页| 久久久999免费视频| ㊣最新国产の精品bt伙计久久| 午夜成人免费影院| 亚洲a在线播放| 日韩vs国产vs欧美| 亚洲激情视频一区| 久久影院在线观看|