• call和apply的区别


    为了加强call和apply的理解,大致的写点让自己较易理解,就是对参数继承时数据类型不同;


    call例子: 

    var d = "",
     v = "ffff",
     l = "ddddd";
     (function (b, c) {
        console.log("b="+b);

        console.log(" ");
         console.log("c="+c)
     }).call(d, v, l)

     控制台输出:   

    很显然call(d, v, l)其中d可传this一样调用该函数的对象,可为NULL(此时为window),v, l作为参数依次对应传给b和c
     
    apply例子:
        
     1      var d = "",
     2            v = ["ffff", "ddddd"];  
     3            
     4  (function (b, c) {
     5              
     6            console.log("b=" + b);
     7               
     8            console.log("
    ");
     9            
    10            console.log("c=" + c)
    11          
    12    }).apply(d, v)

     控制台输出:   

       apply(d, v)其中d可传this一样调用该函数的对象,可为NULL(此时为window),v是一个数组参数,数组中的值依次对应传给b和c

      

       可以看出call和apply区别在于call后面的每一个参数和其调用的函数中的参数依次相对应,apply是数组与其对应关系。当然这只是简单的理解下便于自己对它们关系的理解,希望对你们也有用,谢谢!

      

  • 相关阅读:
    从头到尾彻底理解KMP
    [CF1220E] Tourism
    [CF446C] DZY Loves Fibonacci Numbers
    [CF1003E] Tree Constructing
    [CF1238E] Keyboard Purchase
    [CF915E] Physical Education Lessons
    [CF788B] Weird journey
    [CF1371E2] Asterism (Hard Version)
    [CF780E] Underground Lab
    [CF372C] Watching Fireworks is Fun
  • 原文地址:https://www.cnblogs.com/leehf/p/7657503.html
Copyright © 2020-2023  润新知