• Javascript 方法apply和call的差别


    call与aplly都属于Function.prototype的一个方法。所以每一个function实例都有call、apply属性

    同样点:
    call()方法和apply()方法的作用同样:

    改变原调用函数的内部this指向。

    call()方法和apply()方法的第一个參数都是调用call/apply方法的函数内部this的指向。

    不同点:
    当调用call/apply方法的函数有參数时,call/apply方法也须要传參

    call的2參、3參...n參分别表示原函数的1參、2參...n-1參
    
    apply的2參是一个数组。数组元素按顺序存储原方法的1參、2參...n參
    

    举例:

    function add(c, d){ 
    /*
        这里的this表示add.call/apply的一參
        假设直接调用add(c,d),那么this指向window
    */
    return this.a + this.b + c + d; 
    } 
    var o = {a:1, b:3}; 
    add.call(o, 5, 7); // 1 + 3 + 5 + 7 = 16 
    add.apply(o, [10, 20]); // 1 + 3 + 10 + 20 = 34 
  • 相关阅读:
    XML组成部分
    XML语法
    XML概念
    HTTP协议:响应消息的数据格式---Response
    KM HDU 3718
    KM最大匹配 HDU 2255
    匈牙利算法
    母函数
    最长公共子序列 LCS
    hdu 4632 区间DP
  • 原文地址:https://www.cnblogs.com/zsychanpin/p/7071653.html
Copyright © 2020-2023  润新知