日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
10個(gè)實(shí)用的JavaScript小技巧

本文轉(zhuǎn)載自微信公眾號(hào)“前端先鋒”(jingchengyideng)。

我一直在尋找提高效率的新方法。JavaScript 總是充滿令人出乎意料的驚喜。

1. 將 arguments 對(duì)象轉(zhuǎn)換為數(shù)組

arguments 對(duì)象是函數(shù)內(nèi)部可訪問的類似數(shù)組的對(duì)象,其中包含傳遞給該函數(shù)的參數(shù)的值。

但它與其他數(shù)組不同,我們可以訪問其元素值并獲得長(zhǎng)度,但是不能在其上使用其他的數(shù)組方法。

幸運(yùn)的是,我們可以將其轉(zhuǎn)換為常規(guī)數(shù)組:

 
 
 
  1. var argArray = Array.prototype.slice.call(arguments); 

2. 對(duì)數(shù)組中所有的值求和

我最初的想法是使用循環(huán),但是那樣做太費(fèi)事了。

 
 
 
  1. var numbers = [3, 5, 7, 2]; 
  2. var sum = numbers.reduce((x, y) => x + y); 
  3. console.log(sum); // returns 17 

3. 條件短路

我們有以下代碼:

 
 
 
  1. if (hungry) { 
  2.     goToFridge(); 

通過將變量與函數(shù)一起使用,我們可以使其更短:

 
 
 
  1. hungry && goToFridge() 

4. 對(duì)條件使用邏輯或

我曾經(jīng)在函數(shù)的開頭聲明自己的變量,只是為了避免在出現(xiàn)任何意外錯(cuò)誤的情況下得到 undefined。

 
 
 
  1. function doSomething(arg1){  
  2.     arg1arg1 = arg1 || 32; // 如果變量尚未設(shè)置,則 arg1 將以 32 作為默認(rèn)值 

5. 逗號(hào)運(yùn)算符

逗號(hào)運(yùn)算符( ,)用來評(píng)估其每個(gè)操作數(shù)(從左到右)并返回最后一個(gè)操作數(shù)的值。

 
 
 
  1. let x = 1; 
  2.  
  3. x = (x++, x); 
  4.  
  5. console.log(x); 
  6. // expected output: 2 
  7.  
  8. x = (2, 3); 
  9.  
  10. console.log(x); 
  11. // expected output: 3 

6. 用 length 調(diào)整數(shù)組大小

你可以調(diào)整數(shù)組大小或清空數(shù)組。

 
 
 
  1. var array = [11, 12, 13, 14, 15];   
  2. console.log(array.length); // 5   
  3.  
  4. array.length = 3;   
  5. console.log(array.length); // 3   
  6. console.log(array); // [11,12,13] 
  7.  
  8. array.length = 0;   
  9. console.log(array.length); // 0   
  10. console.log(array); // [] 

7. 通過數(shù)組解構(gòu)對(duì)值進(jìn)行交換

解構(gòu)賦值語法是一種 JavaScript 表達(dá)式,可以將數(shù)組中的值或?qū)ο笾械膶傩越鈮嚎s為不同的變量。

 
 
 
  1. let a = 1, b = 2 
  2. [a, b] = [b, a] 
  3. console.log(a) // -> 2 
  4. console.log(b) // -> 1 

8. 隨機(jī)排列數(shù)組中的元素

我每天我都在洗牌'

 
 
 
  1. var list = [1, 2, 3, 4, 5, 6, 7, 8, 9]; 
  2. console.log(list.sort(function() { 
  3.     return Math.random() - 0.5 
  4. }));  
  5. // [4, 8, 2, 9, 1, 3, 6, 5, 7] 

9. 屬性名可以是動(dòng)態(tài)的

你可以在聲明對(duì)象之前分配動(dòng)態(tài)屬性。

 
 
 
  1. const dynamic = 'color'; 
  2. var item = { 
  3.     brand: 'Ford', 
  4.     [dynamic]: 'Blue' 
  5. console.log(item);  
  6. // { brand: "Ford", color: "Blue" } 

10. 過濾唯一值

對(duì)于所有 ES6 愛好者,我們可以通過使用帶有展開運(yùn)算符的 Set 對(duì)象來創(chuàng)建一個(gè)僅包含唯一值的新數(shù)組。

 
 
 
  1. const my_array = [1, 2, 2, 3, 3, 4, 5, 5] 
  2. const unique_array = [...new Set(my_array)]; 
  3. console.log(unique_array); // [1, 2, 3, 4, 5] 

你有什么 JavaScript 技巧或竅門要分享嗎?


本文標(biāo)題:10個(gè)實(shí)用的JavaScript小技巧
文章來源:http://www.5511xx.com/article/dhjpohe.html