JavaScript中call与apply的深层原理和用法如何巧妙结合?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1979个文字,预计阅读时间需要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调用除了第二个传参方式不一样,其余一样。
本文共计1979个文字,预计阅读时间需要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调用除了第二个传参方式不一样,其余一样。

