bind方法

来源:互联网 发布:c专家编程 pdf 百度云 编辑:程序博客网 时间:2024/06/05 12:03
bind方法: 创建一个新函数,借用旧函数,并提前绑定this和参数值。
    何时使用: 在创建方法时,就需要提前绑定this对象和参数值
    如何使用: 2步:
      1. 使用bind方法,基于现有函数创建新函数,并绑定this对象和部分参数值:
var newFun=fun.bind(obj[,参数1,参数2,...])

      2. 调用newFun,传入剩余参数: newFun(剩余参数)


<span style="font-size:18px;"><!DOCTYPE html><head><meta charset="utf-8"/><title>css001</title></head><body><script>var hmm={ename:"Han Mei",base:5000}var lilei={ename:"Li Lei",base:4000}function calc(base,bonus){//定义一个计算器document.write("<h1>"+this.ename+":"+(base+bonus)+"</h1>");}calc.call(lilei,lilei.base,7000);calc.call(hmm,hmm.base,5000);//李蕾买了一个自己的计算器var lilei_calc=calc.bind(lilei,lilei.base);//bind可以提前绑定对象和部分参数,写确定的参数lilei_calc(4000);//this---李蕾//被bind所占的计算器,别人就用不了了lilei_cal.call(hmm,hmm.base,8000);//笔试:/*call vs apply  vs   bind共同点:都是在调用时,动态指定函数中的this不同点:1.call,apply借用,临时绑定2.bind 永久绑定返回值:1.call,apply不 创建 新函数,仅 调用 原函数2.bind基于原函数,创建新函数对象之后调用的其实是新函数对象参数:2,call,apply在调用的时候传入所有参数call,要求独立传入每个参数apply,要求将参数放入数组,统一传入2,bind可在创建函数提前绑定部分参数调用函数时,严格模式:54-57的标题比普通模式更严格的执行方式*/</script></body></html></span>


0 0
原创粉丝点击