JavaScript中 call、apply和bind方法

一、call方法

  1. 功能:第一个可以指定函数的this,第二个可以执行函数并传参
  2. 参数:第一个参数,传入一个指定让 this 指向的对象,第二个参数及以后,是函数参数的列表
  3. 返回值:就是函数自己的返回值
  4. 测试
function fun(a,b){
	console.log(this);
	console.log( a + b);
}

var Person={
	name :"zhangsan"
}
fun.call(Person,1,2);

测试结果:
在这里插入图片描述

二、apply方法

  1. 功能:第一个可以指定函数的this,第二个可以执行函数并传参
  2. 参数:第一个参数,传入一个指定让 this 指向的对象,第二个参数是函数的参数组成的数组
  3. 返回值:就是函数自己的返回值
  4. 测试
var Person={
	name :"lisi"
}
fun.apply(Person,[3,4]);	//继续调用call方法中写好的fun函数

测试结果:
在这里插入图片描述

三、 bind方法

  1. 功能:第一个可以指定函数的 this, bind方法不能执行函数,但是可以传参
  2. 参数:第一个参数,传入一个指定让 this 指向的对象,第二个参数及以后,是函数参数的列表
  3. 返回值:返回一个新的指定了this的函数,也可以叫绑定函数
  4. 测试
function fun(a, b) {
        console.log(this);
        console.log(a + b );
    }
var fn = fun. bind(Person,2,3);	
//继续调用前面写好的Person函数,这里的2,3是指的a,b
console.log(fn)

测试结果:发现函数只绑定不输出a + b,没有执行函数
在这里插入图片描述

console.log(fn);
fn();

测试结果:会发现执行了函数,结果为5
在这里插入图片描述

此篇文章,乃学习笔记,如有建议,欢迎大佬们留言评论~~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值