作用:改变this指向
首先先讲一下,平常我们执行一个函数的时候就是test(); 这样执行其实执行的是 test.call();
我们先来看一下默认的window情况:



如果不加参数,直接执行Person函数,那么里面的this就是指向window的

使用了call之后,那么this的指向就变为obj,意思就是借用Person的功能来构建自己的对象



再看下call的应用:

这里需要理解的是,在new一个Student对象的时候,var this = {};

然后call就首先实现了this空对象的三条语句
call和apply作用上没什么区别,用法上有点差别(传参列表不同)
call 需要把实参按照形参方式一个一个传进去
apply 需要传入一个arguments

本文深入探讨JavaScript中this关键字的指向规则,及如何通过call和apply方法改变其指向,实现对象间的功能借用。文章详细解释了call和apply在实际编程中的应用,以及它们在传参方式上的差异。
1208

被折叠的 条评论
为什么被折叠?



