箭头函数:
var reflect = function(value){
return value;
};
var reflect = value=>value;
var sum = (num1,num2)=>num1+num2;
//如果函数没有任何参数,声明时必须使用一对空括号
var getName=()=>"guanguan";
//使用函数体或多个语句,将函数用花括号包裹
var sum = (num1,num2)=>{
return num1+num2;
}
//当函数向外返回一个对象字面量时,用圆括号将其包裹
var getItem = id=>({id:id,name:'guanguan'})
//this:1.箭头函数本身没有this;对象内直接调用箭头函数的this固定是在全局也就是window一个函数里面调用箭头函数,箭头函数的this指向的是父层函数的this
带默认参数的函数:
es5中模拟默认参数:
function makeRequest(url, timeout, callback) {
timeout = (typeof timeout !== "undefined") ? timeout : 2000;
callback = (typeof callback !== "undefined") ? callback :function() {};
// 函数的剩余部分
}
es6默认参数:
function makeRequest(url, timeout = 2000, callback = function() {}) {
// 函数的剩余部分
}
// 使用默认的 callback
makeRequest("/foo", 500);