functionObject.call()函数用于调用当前函数functionObject,并可同时使用指定对象thisObj作为本次执行时functionObject函数内部的this指针引用。
该函数属于Function对象,所有主流浏览器均支持该函数。
语法
functionObject.call( [ thisObj [, arg1 [, arg2 [, args...]]]] )
![](https://img.haomeiwen.com/i14561295/605978c58d861112.png)
返回值
call()方法的返回值为任意类型,其返回值取决于当前functionObject对象的返回值。
![](https://img.haomeiwen.com/i14561295/794fa9ff534b9c21.png)
![](https://img.haomeiwen.com/i14561295/02bb4bced062dfce.png)
对于.call(this),则是:this("First(a,b)"中的this)->this("Second(a,b)"中的)->new出的新对象。即call使First()函数内的"this"指向”First.call(this,1,2)“中的“this";而”First.call(this,1,2)“中的“this"通过”var test=new Second(3,4)“指向new出的新对象,所以,最终,两个this均指向”Second{}“这一对象。
![](https://img.haomeiwen.com/i14561295/3364a29d2817b27d.png)
![](https://img.haomeiwen.com/i14561295/418159cea09373ae.png)
![](https://img.haomeiwen.com/i14561295/7a2adc2750c19f3d.png)
网友评论