zoukankan      html  css  js  c++  java
  • call()和apply()的区别

    call和apply的作用:改变this的指向。

    call()和apply()的基本区别:在于将参数传递给函数。

    call():使用其自有的实参列表作为函数的参数;

    apply():要求以数组的形式传入参数。

    语法:

      fun.call(thisobj,arg1,arg2) ;当后面参数个数确定时用call,参数之间用逗号连接

      fun.apply(thisobj,[arg1,arg2]);当后面参数个数不确定时用apply,参数通过数组形式输入

    例子:

    function add(c, d){ 
        return this.a + this.b + c + d; 
    } 
    var object = {a:1, b:3}; 
    add.call(object, 5, 7); // 1 + 3 + 5 + 7 = 16 
    add.apply(object, [10, 20]); // 1 + 3 + 10 + 20 = 34 

    使用call和apply后,this指向变成了thisobj,如果不传参数,指向则为window。

    code by trister
  • 相关阅读:
    char 转string
    博客,记忆的图谱。
    history
    openstack Icehouse发布
    数据库常用命令
    nagios
    screen
    openstack 流量控制
    sublime 3
    磁盘类型
  • 原文地址:https://www.cnblogs.com/tristers/p/13601649.html
Copyright © 2011-2022 走看看