JavaScript深入解析:如何灵活运用call与apply实现函数调用?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1976个文字,预计阅读时间需要8分钟。
目录 + 定义 + 模拟步骤1 + 模拟步骤2 + 模拟步骤3 + 第一个参数传null或undefined,this指向window + 函数执行call方法,有返回值,则返回 + 最终版实现call代码 + 实现apply代码 + 结尾 + 定义call和apply
目录
- 定义
- 模拟步骤1
- 模拟步骤2
- 模拟步骤3
- 第一个参数传null或undefined,this指向为window
- 函数执行call方法,有返回值,那就返回。
- 最终版实现call代码
- 实现apply代码
- 结语
定义
call和apply:函数调动call()方法在执行的时候,函数的里面的this会指向第一个参数值,除第一个参数值后面的若干支都是传进该函数,简而言之就是改变函数运行时的this指向。
使用示例: fn.call(obj, args1, args2...), fn.apply(obj, [arg1, arg2 ...]), call与apply调用除了第二个传参方式不一样,其余一样。
本文共计1976个文字,预计阅读时间需要8分钟。
目录 + 定义 + 模拟步骤1 + 模拟步骤2 + 模拟步骤3 + 第一个参数传null或undefined,this指向window + 函数执行call方法,有返回值,则返回 + 最终版实现call代码 + 实现apply代码 + 结尾 + 定义call和apply
目录
- 定义
- 模拟步骤1
- 模拟步骤2
- 模拟步骤3
- 第一个参数传null或undefined,this指向为window
- 函数执行call方法,有返回值,那就返回。
- 最终版实现call代码
- 实现apply代码
- 结语
定义
call和apply:函数调动call()方法在执行的时候,函数的里面的this会指向第一个参数值,除第一个参数值后面的若干支都是传进该函数,简而言之就是改变函数运行时的this指向。
使用示例: fn.call(obj, args1, args2...), fn.apply(obj, [arg1, arg2 ...]), call与apply调用除了第二个传参方式不一样,其余一样。

