javaScript 工作必知 call apply bind

Posted Company

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript 工作必知 call apply bind相关的知识,希望对你有一定的参考价值。

call

     每个func 都会继承call apply等方法。

 function print(mesage)
        {
            
            console.log(mesage);
            return mesage;
        }
        print.call(this, "cnblogs");//cnblogs

  call(thisAgr,agr1,agr2...) ,call方法第一个传递一个context上下文。后面是参数的个数。

apply

      apply(thisAgr,[agr1,agr2]),apply方法和call的用法一样,只是传递的参数会有所不同。。

function print(a,b)
        {
            console.log(a + b);
        }
    
        print.apply(this, ["hello","cnblogs"]);

bind

  bind就是将函数把绑定至摸个对象。

 

 <script>
      
        function f(y) { alert(this.x + y); }

        var o = { x: 1 };
       var g= f.bind(o);
       g(2);//3
    </script>

summary

      call apply 函数的调用,和直接使用函数调用是一样的。

      call apply 也是可以模仿bind 方法的。

    

<script>
      
        function f(y) { alert(this.x + y); }

        var o = { x: 1 };
        f.call(o, 2);//3
        f.apply(o, [3]);//4
    </script>

  

以上是关于javaScript 工作必知 call apply bind的主要内容,如果未能解决你的问题,请参考以下文章

javascript 工作必知 类型转换

javaScript 工作必知(二) null 和undefined

javaScript 工作必知 String .的方法从何而来?

javaScript 工作必知 eval 的使用

javaScript 工作必知 对象继承

JavaScript 工作必知(九)function 实参和形参