ES6基礎(chǔ)語(yǔ)法之函數(shù)介紹
一、函數(shù)參數(shù)的擴(kuò)展
ES6支持參數(shù)的默認(rèn)值:
function fn(name,age,sex="男") { console.log(`大家好,我是${name},性別${sex},今年${age}歲!`); } fn("劉德華",45); //大家好,我是劉德華,性別男,今年45歲!
傳遞undefined,取默認(rèn)值:
function fn(name,sex="男",age) { console.log(`大家好,我是${name},性別${sex},今年${age}歲!`); } fn("劉德華",undefined,45); //大家好,我是劉德華,性別男,今年45歲!
不定參數(shù):不定參數(shù)用來(lái)表示不確定參數(shù)個(gè)數(shù):
function Add(...items) { // let sum = 0; // for(let item of items) // { // sum += item; // } // return sum; let sum = 0; for(var i = 0;i< items.length;i++) { sum += items[i]; } return sum; } let result1 = Add(1,2,3); let result2 = Add(1,3,5,7,9); console.log(result1); //6 console.log(result2); //25
二、箭頭函數(shù)
箭頭函數(shù)提供了一種更加簡(jiǎn)潔的函數(shù)書寫方式,基本語(yǔ)法是:參數(shù) => 函數(shù)體
沒有參數(shù)的函數(shù)(參數(shù)部分需要有一對(duì)空括號(hào)):
let f = ()=>{console.log("hello,world!")} f(); //hello,world
等價(jià)于:
function f() { console.log("hello,world!"); } f(); //hello,world
只有一個(gè)參數(shù)的函數(shù)(參數(shù)部分不需要括號(hào)):
let f = num =>{ if(num%2 == 0) return "偶數(shù)"; else return "奇數(shù)"; } console.log(f(50)); //偶數(shù)
有多個(gè)參數(shù)的函數(shù)(參數(shù)部分需要括號(hào)):
let f = (a,b)=>{ let c = a+b; return c; } console.log(f(2,3)); //5
當(dāng)只有一行語(yǔ)句,并且需要返回結(jié)果時(shí),可以省略 {} , 結(jié)果會(huì)自動(dòng)返回:
let f = (a,b) => a+b; console.log(f(2,3)); // 5
當(dāng)箭頭函數(shù)要返回對(duì)象的時(shí)候,為了區(qū)分于代碼塊,要用 () 將對(duì)象包裹起來(lái):
let f = (id,name) => {id: id, name: name}; let obj = f("001","劉德華"); // 報(bào)錯(cuò) console.log(obj);
let f = (id,name) => { return {id: id, name: name}; }; let obj = f("001","劉德華"); console.log(obj); //{id:"001",name:"劉德華"}
let f = (id,name) => ({id: id, name: name}); let obj = f("001","劉德華"); console.log(obj); //{id:"001",name:"劉德華"}
到此這篇關(guān)于ES6基礎(chǔ)語(yǔ)法之函數(shù)的文章就介紹到這了。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
javascript真的不難-回顧一下基礎(chǔ)知識(shí)
先來(lái)學(xué)習(xí)一下Javascript語(yǔ)言中的基礎(chǔ)知識(shí)問題其時(shí)對(duì)于每種編程語(yǔ)言來(lái)說(shuō)基礎(chǔ)知識(shí)都是大同小異的,對(duì)變量,函數(shù),條件語(yǔ)句塊,循環(huán)語(yǔ)句塊等等,本文簡(jiǎn)要介紹一下,感興趣的朋友可以了解下2013-01-01Javascript之BOM(window對(duì)象)詳解
下面小編就為大家?guī)?lái)一篇Javascript之BOM(window對(duì)象)詳解。小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧2016-05-05Javascript基礎(chǔ)教程之if條件語(yǔ)句
這篇文章主要介紹了Javascript基礎(chǔ)教程之if條件語(yǔ)句,需要的朋友可以參考下2015-01-01javascript基礎(chǔ)之?dāng)?shù)據(jù)類型詳解
這篇文章主要介紹了如何理解JavaScript中的數(shù)據(jù)類型,幫助大家更好的學(xué)習(xí)JavaScript,感興趣的朋友可以了解下2021-11-11深入理解JavaScript系列(30):設(shè)計(jì)模式之外觀模式詳解
這篇文章主要介紹了深入理解JavaScript系列(30):設(shè)計(jì)模式之外觀模式詳解,外觀模式(Facade)為子系統(tǒng)中的一組接口提供了一個(gè)一致的界面,此模塊定義了一個(gè)高層接口,這個(gè)接口值得這一子系統(tǒng)更加容易使用,需要的朋友可以參考下2015-03-03JavaScript中__proto__與prototype的關(guān)系深入理解
本文將討論下對(duì)象的內(nèi)部原型(__proto__)和構(gòu)造器的原型(prototype)的關(guān)系,需要了解更多的朋友可以參考下2012-12-12