08、ES6 函数扩展
2017-05-04 23:11
190 查看
1、默认参数
:1.多余的参数: ...自定义名字 (注意: ...之后不能再接收)
2. 默认参数
如果传值 就用传的值
function fn(a,b,...c){
console.log(a,b);
console.log(c.length);// 如果直接写c数组
console.log(...c); // 直接输出多余
}
fn(1,2,3,4,5,6);
console.log('=======================');
function fun(a,b = 2){
console.log(a,b);
}
/*等同于
function fun(a,b){
b = b||123;
console.log(a,b);
}*/
fun(1,3)
运行结果:
2、箭头函数
(一般情况下是回调使用箭头函数,自带return功能)
//箭头函数和真函数对比
let fn = function () {
};
let fn1 = () => {
};
如果只有1行代码 省略 大括号
let fn1 = (a,...b) => console.log(b);
只有1个参数的时候可以省略小括号
let fn1 = a => console.log(a);
// 和真正函数的区别
1.箭头函数不能 new 否侧会报错
2.箭头函数不存在 arguments //但是es6默认参数的扩展依然可以使用
let fn1 = (a,...b) => console.log(b);
fn1(6,7,8,9,10);
运行结果:
3.this指向永远是指向定义时其父亲所在的对象
let obj1 = {
name:'这里是obj1',
a:function (){
setTimeout(() => {
console.log(this);
})
}
};
let obj2 = {
name:'这里是obj2',
a:function (){
setTimeout(function (){
console.log(this);
})
}
};
obj1.a();
obj2.a();
运行结果:
:1.多余的参数: ...自定义名字 (注意: ...之后不能再接收)
2. 默认参数
如果传值 就用传的值
function fn(a,b,...c){
console.log(a,b);
console.log(c.length);// 如果直接写c数组
console.log(...c); // 直接输出多余
}
fn(1,2,3,4,5,6);
console.log('=======================');
function fun(a,b = 2){
console.log(a,b);
}
/*等同于
function fun(a,b){
b = b||123;
console.log(a,b);
}*/
fun(1,3)
运行结果:
2、箭头函数
(一般情况下是回调使用箭头函数,自带return功能)
//箭头函数和真函数对比
let fn = function () {
};
let fn1 = () => {
};
如果只有1行代码 省略 大括号
let fn1 = (a,...b) => console.log(b);
只有1个参数的时候可以省略小括号
let fn1 = a => console.log(a);
// 和真正函数的区别
1.箭头函数不能 new 否侧会报错
2.箭头函数不存在 arguments //但是es6默认参数的扩展依然可以使用
let fn1 = (a,...b) => console.log(b);
fn1(6,7,8,9,10);
运行结果:
3.this指向永远是指向定义时其父亲所在的对象
let obj1 = {
name:'这里是obj1',
a:function (){
setTimeout(() => {
console.log(this);
})
}
};
let obj2 = {
name:'这里是obj2',
a:function (){
setTimeout(function (){
console.log(this);
})
}
};
obj1.a();
obj2.a();
运行结果:
相关文章推荐
- ES6 - Note3:数组、对象与函数的扩展
- 【ES6】函数的扩展(2)
- ES6函数扩展
- ES6(七: 函数扩展)(name,箭头,函数绑定,尾调用优化)
- ES6(六: 函数扩展)(默认值,rest参数,扩展运算符)
- ES6--函数扩展
- ES6系列之---对象的扩展函数
- es6函数扩展(六)
- ES6(七) 函数的扩展
- ES6函数扩展
- 【ES6】函数的扩展(3)
- ES6 函数扩展
- Kotlin的扩展函数:扩展Android框架(KAD 08)
- ES6函数扩展
- ES6小实验-函数的扩展
- 【ES6】函数的扩展(1)
- ECMAScript6(ES6)标准之函数扩展特性箭头函数、Rest参数及展开操作符
- ES6---扩展运算符和rest‘...’(三点运算符),在数组、函数、set/map等中的应用
- js-es6-函数扩展
- ES6系列之---字符串的扩展函数