<script>
// function add(x,y){
// // 参数默认值,如果用户输入就是输入的值,否则是5000
// y=y||5000;
// console.log(y)
// }
// add(1,7000)
// es6默认参数的概念。y如果有值的话,实参为准。如果没有实参,默认为10
若y=0为false 使用5000
console.log(y);
};
function add(x,y=10){
add(10)
// undefined为空相当于没有传递参数
add(10,undefined);
add(10,100);
★函数参数扩展,相当于解构
// let[x,y]=[1,2]
// function fn([x,y]){
// console.log(x,y)
// }
// fn([1,3])
★箭头函数 去除function ()和{}中间加=>
// var fn=(x,y)=>{
// console.log(x,y)
// }
// fn(1,3)
setTimeout(()=>{
console.log(111)
},1000)
★如果函数体,只有一句代码{}也可以省略,但是如果这句代码包含return。去除return
// var fn=(x,y)=>console.log(x+y);
var fn=(x,y)=>x+y
console.log(fn(34,4))
★箭头函数,没有arguments概念,有了rest剩余参数的概念。
// var add1=(...rest)=>{
// console.log(rest)
// }
// var add1=(...a)=>{
// console.log(a)
// }
var stu={
name:'zs'
}
var add1=(x,y,...a)=>{
console.log(this)
console.log(a)
a.unshift(x,y);//从a数组前面插入x,y,跟push相反
console.log(a)
}
add1(1,2,3,4)
add1.call(stu,1,2)//箭头函数不能使用call指向对象stu,箭头函数定义时指向谁就是谁,无法更改
★箭头函数中的this,指向的是定义的时候所在的对象,不是使用的时候所在的对象
</script>
ES6 函数扩展
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。