Function的拓展:bind(),call(),apply()

1. Function.prototype.bind(obj)
        作用: 将函数内的this绑定为obj,并将函数返回

var obj = {username: 'Yoona'}
	function foo(data){
		console.log(this,data)

	}
	var bar = foo.bind(obj)
	console.log(bar);// 输出函数体
	bar() // this指向obj

2. 区别bind(),call(),apply()

        * 都能指定函数中的this
        * call()/apply()是立即调用函数
        * bind()是将函数返回

// 传入参数的形式
	foo.call(obj,33) // 可以直接调用函数
	foo.apply(obj,[33])// 必须以数组的形式传参 直接调用函数
    foo.bind(obj,33)();// bind 传参数的方式同call() 返回函数体 需要自己调用
// this都是指向obj

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值