function add(a,b){
return a+b;
}
console.log(add(1,2));
我們聲明了一個add函數(shù),然后傳入a和b兩個值,返回a+b的值。 然后我們在控制臺打印了這個函數(shù)的返回結(jié)果,這里是3.
默認(rèn)值
在ES6中給我們增加了默認(rèn)值的操作,我們修改上邊的代碼,可以看到現(xiàn)在只需要傳遞一個參數(shù)也是可以正常運行的。
function add(a,b=1){
return a+b;
}
console.log(add(1));
主動拋出錯誤
在使用Vue的框架中,可以經(jīng)??吹娇蚣苤鲃訏伋鲆恍╁e誤,比如v-for必須有:key值。那尤大神是如何做到的那?其實很簡單,ES6中我們直接用throw new Error( xxxx ),就可以拋出錯誤。
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)模式來進行編程,但是必須寫在代碼最上邊,相當(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));
上邊的代碼如果運行的話,你會發(fā)現(xiàn)瀏覽器控制臺報錯,這是ES6中的一個坑,如果沒人指導(dǎo)的話,可能你會陷進去一會。這個錯誤的原因就是如果你使用了默認(rèn)值,再使用嚴(yán)謹(jǐn)模式的話,就會有沖突,所以我們要取消默認(rè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ù)個數(shù)
如果你在使用別人的框架時,不知道別人的函數(shù)需要傳遞幾個參數(shù)怎么辦?ES6為我們提供了得到參數(shù)的方法(xxx.length).我們用上邊的代碼看一下需要傳遞的參數(shù)個數(shù)。
function add(a,b){
'use strict'
if(a == 0){
throw new Error('This is error');
}
return a+b;
}
console.log(add.length);
這時控制臺打印出了2,但是如果我們?nèi)サ魢?yán)謹(jǐn)模式,并給第二個參數(shù)加上默認(rèn)值的話,這時候add.length的值就變成了1, 也就是說它得到的是必須傳入的參數(shù)。
箭頭函數(shù)
在學(xué)習(xí)Vue的時候,我已經(jīng)大量的使用了箭頭函數(shù),因為箭頭函數(shù)真的很好用,我們來看一個最簡單的箭頭函數(shù)。也就是上邊我們寫的add函數(shù),進行一個改變,寫成箭頭函數(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ù)進行使用。