zoukankan      html  css  js  c++  java
  • call, apply的用法意义以及区别是什么

    call和apply没有什么大的区别,两者的作用都是:改变对象的this指向的内容。

    他们的写法不同,如下:

    func.call(func1, var1, var2, var3);

    func.apply(func1, [var1, var2, var3]);

    从写法中可以看出,使用apply的好处是,可以把当前函数的arguments对象作为apply的第二个参数传进去。

    下面我们拿call来做个例子:

     1 <input type="text" id="myText" value="input text"/>
     2 <script>
     3     function obj(){
     4         this.value = '对象';
     5     }
     6     var value = 'global对象';
     7     function fun1(){
     8         console.log(this.value);
     9     }
    10     //看看以下结果是啥?
    11     window.fun1(); //global对象
    12     fun1.call(window); // global对象
    13     fun1.call(document.getElementById('myText')); // input text
    14     fun1.call(new obj()); //对象
    15     
    16 </script>
  • 相关阅读:
    10A:子串计算
    09I:鸡蛋的硬度
    09H:数字组合
    09G:登山
    09F:股票买卖
    09E-计算字符串距离
    09D-最大上升子序列和
    09C-全排列
    02C-垃圾炸弹
    【c#基础】vs2019设置高级选项
  • 原文地址:https://www.cnblogs.com/xiayu25/p/6265134.html
Copyright © 2011-2022 走看看