92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线

10 個超有用的 JavaScript 技巧

2020-5-6    seo達人

方法參數的驗證

JavaScript 允許你設置參數的默認值。通過這種方法,可以通過一個巧妙的技巧來驗證你的方法參數。


const isRequired = () => { throw new Error('param is required'); };

const print = (num = isRequired()) => { console.log(`printing ${num}`) };

print(2);//printing 2

print()// error

print(null)//printing null

非常整潔,不是嗎?


格式化 json 代碼

你可能對 JSON.stringify 非常熟悉。但是你是否知道可以用 stringify 進行格式化輸出?實際上這很簡單。


stringify 方法需要三個輸入。 value,replacer 和 space。后兩個是可選參數。這就是為什么我們以前沒有注意過它們。要對 json 進行縮進,必須使用 space 參數。


console.log(JSON.stringify({name:"John",Age:23},null,'\t'));

>>>

{

"name": "John",

"Age": 23

}

從數組中獲取唯一值

要從數組中獲取唯一值,我們需要使用 filter 方法來過濾出重復值。但是有了新的 Set 對象,事情就變得非常順利和容易了。


let uniqueArray = [...new Set([1, 2, 3, 3, 3, "school", "school", 'ball', false, false, true, true])];

>>> [1, 2, 3, "school", "ball", false, true]

從數組中刪除虛值(Falsy Value)

在某些情況下,你可能想從數組中刪除虛值。虛值是 JavaScript 的 Boolean 上下文中被認定為為 false 的值。 JavaScript 中只有六個虛值,它們是:


undefined

null

NaN

0

"" (空字符串)

false

濾除這些虛值的最簡單方法是使用以下函數。


myArray.filter(Boolean);

如果要對數組進行一些修改,然后過濾新數組,可以嘗試這樣的操作。請記住,原始的 myArray 會保持不變。


myArray

   .map(item => {

       // Do your changes and return the new item

   })

   .filter(Boolean);

合并多個對象

假設我有幾個需要合并的對象,那么這是我的首選方法。


const user = {

    name: 'John Ludwig',

    gender: 'Male'

};

const college = {

    primary: 'Mani Primary School',

    secondary: 'Lass Secondary School'

};

const skills = {

   programming: 'Extreme',

   swimming: 'Average',

   sleeping: 'Pro'

};

const summary = {...user, ...college, ...skills};

這三個點在 JavaScript 中也稱為展開運算符。你可以在這里學習更多用法。


對數字數組進行排序

JavaScript 數組有內置的 sort 方法。默認情況下 sort 方法把數組元素轉換為字符串,并對其進行字典排序。在對數字數組進行排序時,這有可能會導致一些問題。所以下面是解決這類問題的簡單解決方案。


[0,10,4,9,123,54,1].sort((a,b) => a-b);

>>> [0, 1, 4, 9, 10, 54, 123]

這里提供了一個將數字數組中的兩個元素與 sort 方法進行比較的函數。這個函數可幫助我們接收正確的輸出。


Disable Right Click

禁用右鍵

你可能想要阻止用戶在你的網頁上單擊鼠標右鍵。


<body oncontextmenu="return false">

   <div></div>

</body>

這段簡單的代碼將為你的用戶禁用右鍵單擊。


使用別名進行解構

解構賦值語法是一種 JavaScript 表達式,可以將數組中的值或對象的值或屬性分配給變量。解構賦值能讓我們用更簡短的語法進行多個變量的賦值。


const object = { number: 10 };


// Grabbing number

const { number } = object;


// Grabbing number and renaming it as otherNumber

const { number: otherNumber } = object;

console.log(otherNumber); //10

獲取數組中的最后一項

可以通過對 splice 方法的參數傳入負整數,來數獲取組末尾的元素。


let array = [0, 1, 2, 3, 4, 5, 6, 7]

console.log(array.slice(-1));

>>>[7]

console.log(array.slice(-2));

>>>[6, 7]

console.log(array.slice(-3));

>>>[5, 6, 7]

等待 Promise 完成

在某些情況下,你可能會需要等待多個 promise 結束。可以用 Promise.all 來并行運行我們的 promise。


const PromiseArray = [

   Promise.resolve(100),

   Promise.reject(null),

   Promise.resolve("Data release"),

   Promise.reject(new Error('Something went wrong'))];


Promise.all(PromiseArray)

 .then(data => console.log('all resolved! here are the resolve values:', data))

 .catch(err => console.log('got rejected! reason:', err))

關于 Promise.all 的主要注意事項是,當一個 Promise 拒絕時,該方法將引發錯誤。這意味著你的代碼不會等到你所有的 promise 都完成。


如果你想等到所有 promise 都完成后,無論它們被拒絕還是被解決,都可以使用 Promise.allSettled。此方法在 ES2020 的最終版本得到支持。


const PromiseArray = [

   Promise.resolve(100),

   Promise.reject(null),

   Promise.resolve("Data release"),

   Promise.reject(new Error('Something went wrong'))];


Promise.allSettled(PromiseArray).then(res =>{

console.log(res);

}).catch(err => console.log(err));


//[

//{status: "fulfilled", value: 100},

//{status: "rejected", reason: null},

//{status: "fulfilled", value: "Data release"},

//{status: "rejected", reason: Error: Something went wrong ...}

//]

即使某些 promise 被拒絕,Promise.allSettled 也會從你所有的 promise 中返回結果。

日歷

鏈接

個人資料

藍藍設計的小編 http://m.skdbbs.com

存檔

92国产精品视频_亚洲a级在线观看_国产精品电影观看_国产精品免费观看在线_精品伊人久久97_亚洲人成在线观_尤物九九久久国产精品的特点_成人激情在线播放_成人黄色大片在线免费观看_亚洲成人精品久久久_久久免费视频在线观看_久久精品国产一区_国产一区二区三区18_亚洲欧美中文字幕在线一区_日韩美女中文字幕_日韩视频免费在线
日本中文不卡| 国产精品三区四区| 亚洲aaa精品| 国产乱人伦精品一区二区在线观看| 久操成人在线视频| 久久99久久99精品免视看婷婷| 国产精品天天看| 日本成人在线不卡视频| 亚洲欧洲午夜一线一品| 成人免费在线看片| 午夜在线a亚洲v天堂网2018| 裸模一区二区三区免费| av不卡免费电影| 狠狠躁夜夜躁人人爽超碰91| 欧美久久久久久一卡四| 日韩不卡一区二区| 亚洲视频每日更新| 亚洲美女在线看| 国产精品自产自拍| 国产精品福利无圣光在线一区| 国产福利精品av综合导导航| 日韩精品中文字幕视频在线| 国产精品成人av性教育| 欧美大片免费观看在线观看网站推荐| 欧美伊人久久大香线蕉综合69| 国产精品国产三级国产在线观看| 国产欧美日韩在线一区二区| 国产一区毛片| 91麻豆精品国产综合久久久| 久久精品人人| 日韩中文在线视频| 91精品网站在线观看| 性8sex亚洲区入口| 真实国产乱子伦精品一区二区三区| 免费黄色网页在线观看| 亚洲午夜精品视频| 91欧美激情一区二区三区成人| 色婷婷精品久久二区二区蜜臀av| 精品一二线国产| 欧美午夜国产| 欧美va久久久噜噜噜久久| 91精品国产综合久久香蕉的用户体验| 日韩免费毛片| 麻豆精品一区二区av白丝在线| 久久久亚洲国产天美传媒修理工| 久久久综合九色合综国产精品| 蜜臀国产一区二区三区在线播放| 欧美伦理免费在线| 欧美日韩hd| 欧美丰满少妇xxxxx| 久久午夜老司机| 国产午夜三级一区二区三| 鲁丝一区鲁丝二区鲁丝三区| 精品国产一区二区三区忘忧草| 亚洲桃花岛网站| 亚洲国产美女精品久久久久∴| 中文无码日韩欧| 亚洲精品69| 成人爽a毛片免费啪啪| 亚洲国产精品一区二区www在线| 色综合亚洲图丝熟| 538国产精品一区二区免费视频| 欧美黄色一区| 欧美另类99xxxxx| 妖精视频一区二区三区免费观看| 一区二区三区四区视频免费观看| 蜜桃视频第一区免费观看| 国产美女91呻吟求| 自由日本语热亚洲人| 日韩av中文字幕一区二区| 午夜剧场成人观在线视频免费观看| 蜜桃视频一区二区三区在线观看| 欧美亚洲在线观看| 精品久久香蕉国产线看观看gif| 国产精品美女午夜av| 欧美一区在线观看视频| 成人欧美一区二区三区在线观看| japanese色系久久精品| 日韩精品在线网站| 国产一区二区免费看| 99九九久久| 国产精品福利在线观看| 欧美一级视频一区二区| 欧美一区二区三区电影| 久久人人视频| 国产乱子轮精品视频| 成人免费看黄网站| 国产亚洲欧洲一区高清在线观看| 在线观看的网站你懂的| 最新国产拍偷乱拍精品| 精品一区二区三区日韩| 99久久国产综合精品色伊| 亚洲人成77777在线观看网| 深夜成人在线观看| 亚洲一区在线观看免费| 亚洲乱码国产乱码精品精可以看| 一区二区日本视频| 色综合视频一区二区三区44| 97精品国产综合久久久动漫日韩| 国产成人ay| 久久免费精品视频在这里| 日韩欧美国产视频| 欧美一区二区播放| 久久亚洲精品国产精品紫薇| 欧美国产视频在线| 欧美亚洲一级| 1区1区3区4区产品乱码芒果精品| 激情亚洲网站| 亚洲国产aⅴ精品一区二区三区| 91精品国产综合久久久蜜臀图片| 日韩视频一区在线| 97在线视频国产| 日韩欧美在线中文字幕| 日韩欧美午夜| 国产乱码精品一区二区三区日韩精品| 中文文精品字幕一区二区| 欧美日韩一本| 成人a视频在线观看| 国产成人极品视频| 一区二区中文字幕| 久久久免费毛片| 国产精品毛片高清在线完整版| 午夜视频在线| 亚洲最新视频在线观看| 青青热久免费精品视频在线18| 欧美.日韩.国产.一区.二区| 亚洲精品suv精品一区二区| 亚洲美女免费精品视频在线观看| 亚洲人成电影在线观看天堂色| 岛国成人av| 精品国产午夜肉伦伦影院| 亚洲日本一区二区三区| 亚洲性视频在线| 午夜精品剧场| 成人综合婷婷国产精品久久免费| 91女神在线视频| 高跟丝袜一区二区三区| 亚洲久久一区| 国产成人自拍视频在线观看| 欧美1级日本1级| 国产高清一区| 亚洲新声在线观看| 日韩有码一区二区三区| 国产麻豆午夜三级精品| 国产成人精品福利| 日韩av不卡电影| 日本中文字幕电影在线免费观看| 激情视频在线观看一区二区三区| 国产一区二区日韩| 亚洲自拍偷拍av| 狠狠色丁香婷婷综合| 色帝国亚洲欧美在线| 国产成人久久精品一区二区三区| 日韩在线你懂的| 欧美色图婷婷| 成人a免费在线看| 欧美午夜视频在线| 26uuu久久天堂性欧美| 乱人伦中文视频在线| 亚洲老女人视频免费| 亚洲精品18| 黄视频网站在线| 国产日韩欧美中文| 欧美三级乱码|