zoukankan      html  css  js  c++  java
  • javascript疑难问题---10、call和apply

    javascript疑难问题---10、call和apply

    一、总结

    一句话总结:

    call和apply方法 不仅可以执行函数(方法),更重要的是他们在执行函数(方法)的时候可以改变函数(方法)里面this的指向

    1、函数(方法)中this的指向?

    就是谁调用函数(方法),函数(方法)里面的this就指向谁

    2、函数名() 执行函数 和 call和apply 方法 执行函数的区别是什么?

    相比于函数名() 执行函数的方式,call和apply 方法 执行函数 的时候,可以改变this的指向

    3、call方法和apply方法的区别?

    call方法是指定this的指向之后参数是依次传递,apply方法是指定this的指向之后,参数放到一个数组里面统一传递

    二、call和apply

    博客对应课程的视频位置:10、call和apply
    https://www.fanrenyi.com/video/4/175

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>call和apply</title>
     6 </head>
     7 <body>
     8 <!--
     9 1、
    10 this的指向问题:
    11 就是谁调用函数(方法),函数(方法)里面的this就指向谁
    12 
    13 执行函数:函数名()
    14 call和apply 也可以执行函数
    15 
    16 
    17 
    18 2、
    19 call和apply方法 不仅可以执行函数(方法),更重要的是他们在执行函数的时候可以改变函数(方法)里面this的指向
    20 
    21 3、
    22 函数名() 执行函数 和 call和apply 方法 执行函数的区别是什么
    23 call和apply 方法 执行函数 的时候,可以改变this的指向
    24 
    25 4、
    26 call方法和apply方法的区别
    27 call方法和apply方法一样都可以执行函数和改变函数的this的指向,唯一区别在于:
    28 传递参数的时候,如果使用的是call方法,那么参数在改变的this的指向的对象后面是依次传递
    29 如果使用的是apply方法,那么参数在改变的this的指向的对象后面是要放到一个数组里面统一传递的
    30 
    31 -->
    32 <script>
    33     function readThis(a,b,c) {
    34         console.log(a);
    35         console.log(b);
    36         console.log(c);
    37         console.log(this);
    38     }
    39     //readThis();
    40     //readThis(1,2,3);
    41     //readThis.call();
    42     //readThis.apply();
    43 
    44     var zhuBaJie={
    45         name:'猪八戒',
    46         fun1:readThis
    47     };
    48     //zhuBaJie.fun1();
    49     //zhuBaJie.fun1(4,5,6);
    50     //readThis.call(zhuBaJie);
    51     //readThis.apply(zhuBaJie);
    52     //readThis.call(zhuBaJie,7,8,9);
    53     readThis.apply(zhuBaJie,[10,11,12]);
    54 
    55 </script>
    56 </body>
    57 </html>
  • 相关阅读:
    jsp 特殊标签
    poj 1753 Flip Game 高斯消元 异或方程组 求最值
    zoj 3155 Street Lamp 高斯消元 异或方程组 求方案数
    poj1222 EXTENDED LIGHTS OUT 高斯消元解异或方程组 模板
    zoj 3930 Dice Notation 模拟
    zoj 3157 Weapon 线段树求逆序对数
    hdu 1242 Rescue BFS+优先队列
    hdu 3466 Proud Merchants 贪心+01背包
    zoj 3689 Digging 贪心+01背包
    hdu 2602 Bone Collector 01背包模板
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/12503008.html
Copyright © 2011-2022 走看看