Js(Javascript)中的bind方法的使用

简介:
通过function的bind方法来调用方法,可以改变方法的this的对象,并且还可以传入方法参数。bind返回对应方法,不会立即执行,调用返回的方法才会执行。apply和call则是立即调用。这也是它们的主要区别。主要是用于面向对象的编程中。

Function.bind(obj[,param1,param2,…])

obj:这个对象将代替Function类里this对象

param1:Function的第一个参数。param2: Function的第二个参数。

返回值是个方法。

示例代码如下:

function man()
{
  this.Name="man";
  this.SayName=function(){
     alert(this.Name);
   }
}
function woman()
{
  this.Name="woman";
  this.SayName=function(){
     alert(this.Name);
   }
}
function say(word,age)
{
 //只有say方法的this是man,或是woman对象才可以调用,say方法本身是没有SayName方法的。
  if(this.SayName)
    this.SayName();
  alert(word+age);
}
var m=new man();
var w=new woman();
//通过bind调用say
say.bind(m,"abc",20)();//返回的是方法,还要在执行一下。
//用call调用
say.call(m,"abc",20);
//apply调用
say.apply(m,["abc",20]);

了解更多分析及数据抓取可查看:
http://data.yisurvey.com:8989/
特别说明:本文旨在技术交流,请勿将涉及的技术用于非法用途,否则一切后果自负。如果您觉得我们侵犯了您的合法权益,请联系我们予以处理。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值