关于call(this, ...arguments)中的this取值
来源:4-6 vue如何监听数组变化
三玖
2021-02-25
请问oldArrayProperty[methodName].call(this, …arguments)中的this在执行时取值是什么?
知道this取值是在函数执行的时候确定的,但还是有点蒙。
个人理解是指向新定义的原型arrProto.push?和执行时候的nums:[10,20,30]数组是否有关?还是指向的老原型Array.prototype.push自身呢?
自己试了下如下图,结果call中的this指向的是实际执行时候的数组对象。
可否理解为新定义的原型方法arrPro.push赋给了下图n对象的隐式原型,执行的时候调用n对象的隐式原型方法(新push),所以执行(新push)的时候call中的this取值是n?
写回答
2回答
-
witheredisland
2021-02-25
对象调用原型中的方法时,this指向对象本身。
10 -
mrmooc
2021-03-04
this指向的就是通过 Object.create()创建的那个对象 arrProto。
00
相似问题