function add(a,b){
return a+b;
}
console.log(add(1,2));
我們聲明了一個(gè)add函數(shù)再层,然后傳入a和b兩個(gè)值柠逞,返回a+b的值。 然后我們在控制臺(tái)打印了這個(gè)函數(shù)的返回結(jié)果酿联,這里是3.
默認(rèn)值
在ES6中給我們增加了默認(rèn)值的操作,我們修改上邊的代碼夺巩,可以看到現(xiàn)在只需要傳遞一個(gè)參數(shù)也是可以正常運(yùn)行的贞让。
function add(a,b=1){
return a+b;
}
console.log(add(1));
主動(dòng)拋出錯(cuò)誤
在使用Vue的框架中,可以經(jīng)沉看到框架主動(dòng)拋出一些錯(cuò)誤喳张,比如v-for必須有:key值。那尤大神是如何做到的那美澳?其實(shí)很簡單销部,ES6中我們直接用throw new Error( xxxx ),就可以拋出錯(cuò)誤。
function add(a,b=1){
if(a == 0){
throw new Error('This is error')
}
return a+b;
}
console.log(add(0));
函數(shù)中的嚴(yán)謹(jǐn)模式
我們在ES中就經(jīng)常使用嚴(yán)謹(jǐn)模式來進(jìn)行編程制跟,但是必須寫在代碼最上邊舅桩,相當(dāng)于全局使用。在ES6中我們可以寫在函數(shù)體中雨膨,相當(dāng)于針對函數(shù)來使用擂涛。
function add(a,b=1){
'use strict'
if(a == 0){
throw new Error('This is error');
}
return a+b;
}
console.log(add(1));
上邊的代碼如果運(yùn)行的話,你會(huì)發(fā)現(xiàn)瀏覽器控制臺(tái)報(bào)錯(cuò)哥放,這是ES6中的一個(gè)坑歼指,如果沒人指導(dǎo)的話,可能你會(huì)陷進(jìn)去一會(huì)甥雕。這個(gè)錯(cuò)誤的原因就是如果你使用了默認(rèn)值踩身,再使用嚴(yán)謹(jǐn)模式的話,就會(huì)有沖突社露,所以我們要取消默認(rèn)值的操作挟阻,這時(shí)候你在運(yùn)行就正常了。
function add(a,b){
'use strict'
if(a == 0){
throw new Error('This is error');
}
return a+b;
}
console.log(add(1,2));
獲得需要傳遞的參數(shù)個(gè)數(shù)
如果你在使用別人的框架時(shí),不知道別人的函數(shù)需要傳遞幾個(gè)參數(shù)怎么辦附鸽?ES6為我們提供了得到參數(shù)的方法(xxx.length).我們用上邊的代碼看一下需要傳遞的參數(shù)個(gè)數(shù)脱拼。
function add(a,b){
'use strict'
if(a == 0){
throw new Error('This is error');
}
return a+b;
}
console.log(add.length);
這時(shí)控制臺(tái)打印出了2,但是如果我們?nèi)サ魢?yán)謹(jǐn)模式坷备,并給第二個(gè)參數(shù)加上默認(rèn)值的話熄浓,這時(shí)候add.length的值就變成了1, 也就是說它得到的是必須傳入的參數(shù)省撑。
箭頭函數(shù)
在學(xué)習(xí)Vue的時(shí)候赌蔑,我已經(jīng)大量的使用了箭頭函數(shù),因?yàn)榧^函數(shù)真的很好用竟秫,我們來看一個(gè)最簡單的箭頭函數(shù)娃惯。也就是上邊我們寫的add函數(shù),進(jìn)行一個(gè)改變肥败,寫成箭頭函數(shù)趾浅。
{}的使用
在箭頭函數(shù)中,方法體內(nèi)如果是兩句話馒稍,那就需要在方法體外邊加上{}括號皿哨。例如下邊的代碼就必須使用{}.
var add =(a,b=1) => {
console.log('music')
return a+b;
};
console.log(add(1));
箭頭函數(shù)中不可加new,也就是說箭頭函數(shù)不能當(dāng)構(gòu)造函數(shù)進(jìn)行使用筷黔。