zoukankan      html  css  js  c++  java
  • call aplly笔记

    <script>
        /*1、每个函数都包含两个非继承而来的方法:apply()和call()。
        2、他们的用途相同,都是在特定的作用域中调用函数。
        3、接收参数方面不同,apply()接收两个参数,一个是函数运行的作用域(this),另一个是参数数组。
        call()方法第一个参数与apply()方法相同,但传递给函数的参数必须列举出来。*/
        window.firstName = "diz";
        window.lastName = "song";
        var myObject = { firstName: "my", lastName: "Object" };
        function HelloName() {
            console.log("Hello " + this.firstName + " " + this.lastName, " glad to meet you!");
        }
        HelloName.call(window); //huo .call(this);
        HelloName.call(myObject);
    
      /*  输出结果
        Hello diz song glad to meet you!
        Hello my Object glad to meet you!*/
    
    
    
    //    例2
        function sum(num1, num2) {
            return num1 + num2;
        }
        console.log(sum.call(window, 10, 10)); //20
        console.log(sum.apply(window,[10,20])); //30
    
    //    分析:call、apply就是改变作用域;
    </script>



    猫吃鱼,狗吃肉,奥特曼打小怪兽。

    
    

    有天狗想吃鱼了

    
    

    猫.吃鱼.call(狗,鱼)

    
    

    狗就吃到鱼了

    
    

    猫成精了,想打怪兽

    
    

    奥特曼.打小怪兽.call(猫,小怪兽)

    
    

    就这样记住了。

     
  • 相关阅读:
    SDOI2019游记
    noi.ac309 Mas的童年
    51nod1237 最大公约数之和
    loj6074 子序列
    noi.ac89A 电梯
    51nod97B 异或约束和
    bzoj4490 随机数生成器Ⅱ加强版
    CF55D Beautiful numbers
    CF24D Broken robot
    CF226D The table
  • 原文地址:https://www.cnblogs.com/-CLAY-/p/CallApply.html
Copyright © 2011-2022 走看看