JS 修改this指向

需求 : 改变this指向

  1. call()
    语法结构 : 函数名.call(this的新指向, 参数1, 参数2, …)
	var obj = {
        name: "lisi",
        age: 23
      };
      
    function sum(n1, n2) {
          console.log(n1 + n2);
          console.log(this);  // 我不让this指向window, 要让this指向obj
      }
    // sum(15, 5)
       sum.call(obj, 14, 3)
  1. apply()
    语法结构 : 函数名.apply(this的新指向, 参数数组或者伪数组) // 注意 : apply方法只有两个参数
	sum.apply(obj, [16, 8]);
  1. bind()
    语法结构 : 函数名.bind(this的新指向, 参数1, 参数2, …)
    特点 : 不会指向这个要修改this指向的函数的函数, 而是返回已经修改了this指向的函数
    bind不传参, 那么就在调用修改了this指向后的函数时传参, 但是如果两个都传了, 那么接受bind的参数
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值