笔记:箭头函数。。。

箭头函数:

没有argument的概念,有了rest剩余参数的概念

 x 
var add=(x,y)=>{
     console.log(arguments)
}
add(1,2,3,4)//arguments is not defined//没有定义
var add=(x,y,...rest)=>{
     console.log(rest)//[3,4]
     a.push(x,y);//把所有的参数都遍历出来,这是在之后追加[3,4,1,2]
     a.unshift(x,y);//这是之前追加[1,2,3,4],这两个都可以得到arguments效果
}
add(1,2,3,4)//rest存多余的参数

call apply bind区别:

//this指向
//事件中的this,指向事件源
//普通函数的this指向window
//普通函数:
function add(){
    console.log(this)
}
add()//window


//call修改this的指向
var stu={
    name='zs
}
function add(){
    console.log(this)//{name='zs'}
}
add();
add.call(stu);


var stu={
    name='zs
}
function add(){
    console.log(x,y);
    console.log(this)//{name='zs'}
}
//函数名.call(对象,实参)直接调用函数,修改this指向,指向的就是传递的对象
//add.call(stu,1,2);

//函数名.apply(对象,[实参])直接调用函数,修改this指向,指向的就是传递的对象
//add.apply(stu,[1,2]);

//函数名.bind(对象,实参)返回一个新的函数,不会直接调用,修改this指向,指向的就是传递的对象
fn=add.bind(stu,1,2);
fn()

箭头函数:箭头函数中this,指向的是定义的时候所在对象,不是使用的时候所在对象

//箭头函数:箭头函数中this,指向的是定义的时候所在对象,不是使用的时候所在对象

var stu={
    name='zs
}
var add=(x,y,...rest)=>{
    console.log(this)
     console.log(rest)
     a.push(x,y);
     a.unshift(x,y);
}//这个箭头函数的普通函数定义(的时候指向的window
add(1,2,3,4)
add.call(stu,1,2);//加不加这个都是指向window
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值