美文网首页
函数调用的方法 (apply、call)

函数调用的方法 (apply、call)

作者: 冯艳辉brook | 来源:发表于2018-01-03 18:09 被阅读0次

参考: https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Function

函数调用分4种:

1、直接调用:

function aaa(){this.a = 1};

a();

2、对象调用:

a={aaa:function(){this.a = 1}};

a.aaa();

3、构造函数调用:

function aaa(){this.a = 1}; 

var bbb = new aaa();

构造函数和正常的函数调用区别在于:构造函数的this指向了本实例,正常函数调用this是指向全局

4、call,apply调用:

call:

fun.call(thisArg,arg1,arg2, ...)

thisArg fun函数运行时指定的this值,如果这个函数处于非严格模式下,则指定为null和undefined的this值会自动指向全局对象

arg1, arg2, ...  :    指定的参数列表。


apply:

fun.apply(thisArg, [argsArray])

thisArg :fun函数运行时指定的this值,如果这个函数处于非严格模式下,则指定为null和undefined的this值会自动指向全局对象

argsArray : 参数列表数组。

function aaa(age){

    this.age = age;

    console.log(this.name, this.age)

}

var b = {name:"content"};

aaa.call(b, 12);// content 12

aaa.apply(b, [12]);// content 12

call和apply的区别在于第二个参数call是传按顺序传参,而apply是传一个数组参数

相关文章

  • JS-call、apply、bind用法

    一、call&apply与bind区别 call和apply方法对函数直接调用bind方法后面还需要()来进行调用...

  • call()和apply()

    call()和apply()—— 这两个方法都是函数对象的方法,需要通过函数对象来调用—— 当对函数调用call(...

  • JS中call、apply、bind的用法

    call和apply call和apply都是函数的正常调用方法,它们位于Function.prototype中,...

  • 实现call、apply、bind函数

    call和apply方法使用时的调用对象为一个方法,call函数和apply方法可改变调用者的this,处理方式相...

  • 未整理

    call() 和 apply() 用来调用函数 call(函数名,参数值)apply(函数名,参数值)

  • JS函数调用

    js 里函数调用有4种模式:方法调用、正常函数调用、构造器函数调用、apply/call 调用。无论哪种函数调用除...

  • JS函数调用的方式

    一、作为一个函数调用 二、作为方法调用 三、使用构造函数调用 四、call(),apply()和bind()方法 ...

  • 调用函数 funtion 的方法

    1. 直接调用 2. 在对象方法里调用 3. 使用构造函数调用函数 4. 作为函数方法(call、apply)调用函数

  • JS函数的定义与调用方法

    JS函数调用的四种方法:方法调用模式,函数调用模式,构造器调用模式,apply,call调用模式 1.方法调用模式...

  • js里函数调用的四种模式

    js 里函数调用有4种模式:方法调用、正常函数调用、构造器函数调用、apply/call调用。同时,无论哪种函数调...

网友评论

      本文标题:函数调用的方法 (apply、call)

      本文链接:https://www.haomeiwen.com/subject/wpcknxtx.html