zoukankan      html  css  js  c++  java
  • call apply bind 区别?

    call apply bind 区别?

    例:定义一个计算器,没绑定bind的为公共计算器,call可以调用,绑定bind的为私人计算器,别人调用不了,

    //ps:用bind绑定的call强制作借用不好用了,

    function calc(base,bonus){

      console.log(

      this.ename+'的总工资是'+(base+bonus)

     )

    }

    var lilei = {ename:'Li Lei'};

    var hmm = {ename:"Han Meimei"};

    //lilei临时借用calc计算器

    calc.call(hmm,10000,4000)  //Han Meimei的总工资是14000

    calc.call(lilei,10000,1000)  //Li Lei的总工资是11000

    //lilei买了一个和 calc一样的计算器,新计算器永久属于lilei

    var lilei_calc=calc.bind(lilei);

    lilei_calc(10000,3000);   //Li Lei的总工资是13000

    lilei_calc(10000,5000);   //Li Lei的总工资是15000

    lilei_calc(10000,9000);   //Li Lei的总工资是19000

    //hmm借lilei的计算器,call没有bind强大,借来用不了,名还是Li Lei

    lilei_calc.call(hmm,10000,2999);  //Li Lei的总工资是12999,

    call和apply:临时借用一个函数,并替换this为指定对象,

    -----立刻执行

    bind:基于现有函数,创建一个新函数,并永久绑定this 为指定对象。

    -----只创建函数,不执行(要执行在下边在调用)

    何时:立刻执行函数-------call

       不立刻执行 -------bind

  • 相关阅读:
    AspNetCore打造一个“最安全”的api接口
    efcore分表分库原理解析
    对于经常接触的分页你确定你真的会吗
    Monitor的扩展支持string的超时锁
    Excel导出
    搭建私有Git服务器-GitLab
    C# 爬取网易Buff进行购买
    .Net Core 使用弹性和瞬态故障处理库Polly
    JS Table表格添加多选框
    JS 用户头像展示
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/10118190.html
Copyright © 2011-2022 走看看