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

  • 相关阅读:
    Ajax实现表单验证
    JDK配置环境变量
    Java判断指定日期是星期几
    坚持不懈,直到成功
    Struts Action返回xml
    springMVC获得HttpServletRequest对象
    Ubuntu添加eclipse快捷方式
    如何给tomcat 7.0.32添加用户
    使用FusionCharts Free显示图表(JSP)
    Simulate a Windows Service using ASP.NET to run scheduled jobs
  • 原文地址:https://www.cnblogs.com/liubingyjui/p/10118190.html
Copyright © 2011-2022 走看看