zoukankan      html  css  js  c++  java
  • 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是数组与其对应关系。当然这只是简单的理解下便于自己对它们关系的理解,希望对你们也有用,谢谢!

      

  • 相关阅读:
    查看邵杨的源码
    java 读写excle
    绘图的引擎
    handler的使用
    小结
    周末,啦啦啦
    监控宝发布移动应用监控服务 引领移动APM
    监控宝优化升级 创新驱动用户体验
    云智慧:顺势而为 做世界级APM服务商
    性能为王:云智慧APM助小米IT服务能力提升
  • 原文地址:https://www.cnblogs.com/leehf/p/7657503.html
Copyright © 2011-2022 走看看