摘要:本系列文章適合快速掌握入門(mén)語(yǔ)法,想深入學(xué)習(xí)的小伙伴可以看看阮一峰老師的入門(mén)本篇文章是對(duì)之前文章的一個(gè)補(bǔ)充,可以使代碼更簡(jiǎn)潔函數(shù)參數(shù)默認(rèn)值在傳統(tǒng)語(yǔ)法中如果想設(shè)置函數(shù)默認(rèn)值一般我們采用判斷的形式在新的語(yǔ)法中我們可以在參數(shù)聲明的同時(shí)賦予默認(rèn)值參數(shù)
本系列文章適合快速掌握 ES6 入門(mén)語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門(mén)》
本篇文章是對(duì)之前文章的一個(gè)補(bǔ)充,可以使 JavaScript 代碼更簡(jiǎn)潔
參數(shù)默認(rèn)值
在 JavaScript 傳統(tǒng)語(yǔ)法中如果想設(shè)置函數(shù)默認(rèn)值一般我們采用判斷的形式
function example (a,b,c) { a = a||"string"; b = b||"number"; c = c||"json"; console.log(a); console.log(b); console.log(c); // "string" "number" "json" }
在新的語(yǔ)法中我們可以在參數(shù)聲明的同時(shí)賦予默認(rèn)值
function example (a = "string",b = "number",c = "json") { console.log(a); console.log(b); console.log(c); // "string" "number" "json" }
參數(shù)展開(kāi)
在 JavaScript 傳統(tǒng)語(yǔ)法中如果不確定參數(shù)的數(shù)量,并且想獲取所有的參數(shù),一般使用 arguments (函數(shù)自帶的變量,數(shù)組類型,存放所有的參數(shù))
function example (){ console.log(arguments); }
在新的語(yǔ)法中我們可以使用三個(gè)點(diǎn) ... 表示接收全部參數(shù)
function example (...oVar){ console.log(oVar); }
還可以結(jié)合解構(gòu)賦值,實(shí)現(xiàn)不用按順序傳遞參數(shù)
function (...opaction){ let {url,type,succ,err} = opaction; if(!url){ return false; }else{ console.log(url); console.log(type); console.log(succ); console.log(err); } }數(shù)組
map() 方法創(chuàng)建一個(gè)新數(shù)組,然后每次從開(kāi)始給回調(diào)函數(shù)傳遞一個(gè)原來(lái)數(shù)組的成員,直到結(jié)束
let oArray = [5, 7, 1, 56]; const oMap = oArray .map(x => x * 3); console.log(oMap);// Array [15, 21, 3, 168] //映射: 一個(gè)對(duì)一個(gè)
reduce() 方法接收一個(gè)函數(shù)作為累加器(升序執(zhí)行),最終計(jì)算為一個(gè)值
var numbers = [1, 2, 3, 4]; function getSum(total, num) { return total + num; } console.log(numbers.reduce(getSum)); // 10 //匯總:一堆 返回 一個(gè)
filter() 方法創(chuàng)建一個(gè)新的數(shù)組,新數(shù)組中的元素是回調(diào)函數(shù)中符合條件的所有元素。
var ages = [95, 59, 18, 21]; function checkAdult(age) { return age >= 60; } console.log(ages.filter(checkAdult));// 95 //過(guò)濾:一堆 返回 部分
forEach() 方法調(diào)用數(shù)組的每個(gè)元素,并將元素傳遞給回調(diào)函數(shù)
//遍歷: 以上的都可以通過(guò) forEach() 來(lái)手動(dòng)實(shí)現(xiàn),并且可以實(shí)現(xiàn)更加個(gè)性的自定義操作 var array1 = ["a", "b", "c"]; array1.forEach(element => { console.log(element); });// a b c
Array.from() 方法用于將兩類對(duì)象轉(zhuǎn)為真正的數(shù)組:類似數(shù)組的對(duì)象(array-like object)和可遍歷(iterable)的對(duì)象
//常見(jiàn)的類似數(shù)組的對(duì)象是 DOM 操作返回的 NodeList 集合,以及函數(shù)內(nèi)部的 arguments 對(duì)象 // NodeList對(duì)象 let ps = document.getElementsByClassName("p");//所有取到的 dom 元素都是 NodeList 格式,不是真正意義上的數(shù)組 Array.from(ps).filter(p => { return p.textContent.length > 9;//先用 from() 將所有取到的 p 標(biāo)簽轉(zhuǎn)換為真正的數(shù)組 然后過(guò)濾掉前十個(gè) }); // arguments對(duì)象 function foo() { var args = Array.from(arguments); // arguments 也不是真正意義上的數(shù)組 }
關(guān)于什么是 json 這里不過(guò)多介紹,主要看看 ES6 里 json JavaScript對(duì)象字面量 是怎樣的
很多JavaScript開(kāi)發(fā)人員都錯(cuò)誤地把JavaScript對(duì)象字面量(Object Literals)稱為JSON對(duì)象(JSON Objects)包括我自己
在這里推薦一篇文章,感謝那些幫我指出錯(cuò)誤并告訴我正確知識(shí)的人,謝謝
key and value
當(dāng)鍵名和鍵值是一樣的情況下可以只寫(xiě)一個(gè),在引入組件與庫(kù)中特定方法時(shí),可以看到(關(guān)于如何引入其他文件,將在之后的文章寫(xiě))
//傳統(tǒng) { name: name, } //ES6 { name }
function
如果在之前了解過(guò)微信小程序,vue ,或者將要學(xué)習(xí)那么應(yīng)該會(huì)經(jīng)常看到這兩種函數(shù)的寫(xiě)法
{ onLoad() { butClick() { return false; } } methods: { butClick() { return false; } } }
但是如果不用框架,寫(xiě)這樣的代碼,會(huì)報(bào)錯(cuò)
這是因?yàn)榭蚣芷鋵?shí)可以看做一個(gè)函數(shù),上面這種代碼是傳遞給函數(shù)的參數(shù)(這個(gè)參數(shù)的接收方法在本篇文章的開(kāi)頭)
這個(gè)參數(shù)是以 json 對(duì)象的形式傳遞的,
而 ES6 中當(dāng) value 旳值是一個(gè)函數(shù)時(shí)可以省略冒號(hào)和 function 關(guān)鍵字
//傳統(tǒng) { butClick: function (){ return false; } } //ES6 { butClick() { return false; } }
[ ES6 ] 快速掌握常用 ES6 (一)
[ ES6 ] 快速掌握常用 ES6 (二)
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/100109.html
摘要:常量變量先說(shuō)說(shuō)常量和變量的概念吧,常量是說(shuō)那種進(jìn)行一次賦值后不會(huì)更改的值,比如說(shuō)游戲賬戶的,變量是說(shuō)賦值后有更改的需求的,比如游戲名,游戲密碼。常用實(shí)例交換變量的值提取數(shù)據(jù)解構(gòu)賦值對(duì)提取對(duì)象中的數(shù)據(jù),尤其有用。 本系列文章適合快速掌握 ES6 入門(mén)語(yǔ)法,想深入學(xué)習(xí) ES6 的小伙伴可以看看阮一峰老師的《ECMAScript 6 入門(mén)》 學(xué)習(xí) 20% 的知識(shí)完成 80% 的工作 關(guān)于 ...
摘要:的翻譯文檔由的維護(hù)很多人說(shuō),阮老師已經(jīng)有一本關(guān)于的書(shū)了入門(mén),覺(jué)得看看這本書(shū)就足夠了。前端的異步解決方案之和異步編程模式在前端開(kāi)發(fā)過(guò)程中,顯得越來(lái)越重要。為了讓編程更美好,我們就需要引入來(lái)降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(shū)(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書(shū)的目的是以目前還在制定中的ECMASc...
摘要:在繼承的構(gòu)造函數(shù)中,我們必須如上面的例子那么調(diào)用一次方法,它表示構(gòu)造函數(shù)的繼承,與中利用繼承構(gòu)造函數(shù)是一樣的功能。 showImg(https://segmentfault.com/img/remote/1460000009078532); 在實(shí)際開(kāi)發(fā)中,ES6已經(jīng)非常普及了。掌握ES6的知識(shí)變成了一種必須。盡管我們?cè)谑褂脮r(shí)仍然需要經(jīng)過(guò)babel編譯。 ES6徹底改變了前端的編碼風(fēng)格,...
摘要:第一部分請(qǐng)點(diǎn)擊快速掌握面試基礎(chǔ)知識(shí)一閉包閉包由一個(gè)函數(shù)以及該函數(shù)定義是所在的環(huán)境組成。當(dāng)匿名函數(shù)執(zhí)行的時(shí)候,的值為。這個(gè)問(wèn)題可以改用后面會(huì)介紹方法來(lái)解決,通過(guò)對(duì)每一個(gè)匿名函數(shù)構(gòu)建獨(dú)立的外部作用域來(lái)實(shí)現(xiàn)。 譯者按: 總結(jié)了大量JavaScript基本知識(shí)點(diǎn),很有用! 原文: The Definitive JavaScript Handbook for your next develope...
摘要:特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 特意對(duì)前端學(xué)習(xí)資源做一個(gè)匯總,方便自己學(xué)習(xí)查閱參考,和好友們共同進(jìn)步。 本以為自己收藏的站點(diǎn)多,可以很快搞定,沒(méi)想到一入?yún)R總深似海。還有很多不足&遺漏的地方,歡迎補(bǔ)充。有錯(cuò)誤的地方,還請(qǐng)斧正... 托管: welcome to git,歡迎交流,感謝star 有好友反應(yīng)和斧正,會(huì)及時(shí)更新,平時(shí)業(yè)務(wù)工作時(shí)也會(huì)不定期更...
閱讀 3029·2021-11-24 10:32
閱讀 687·2021-11-24 10:19
閱讀 5133·2021-08-11 11:17
閱讀 1467·2019-08-26 13:31
閱讀 1267·2019-08-23 15:15
閱讀 2293·2019-08-23 14:46
閱讀 2276·2019-08-23 14:07
閱讀 1095·2019-08-23 14:03