发布网友 发布时间:2022-04-22 01:34
共1个回答
热心网友 时间:2022-04-22 16:16
this写在不同的地方代表不同的对象
在classB内写的this指的就是classB
javascript不是一个真正面向对象的语言,所谓的继承不过是和面向对象的语言实现继承差不多的效果而已
你先了解call()的用法:
call方法:
语法:call([thisObj[,arg1[, arg2[, [,.argN]]]]])
定义:调用一个对象的一个方法,以另一个对象替换当前对象。
说明:
call 方法可以用来代替另一个对象调用一个方法。call 方法可将一个函数的对象上下文从初始的上下文改变为由 thisObj 指定的新对象。
对你这里来说
意思就是说 用ClassB的this来代替ClassA的this来执行ClassA()这个函数,所以ClassB就有了ClassA的所有功能 感觉像是继承了ClassA
追答我的表达有问题,w3c说的对,是指向调用该函数的对象。谁调用这个函数,就指向谁。如果没有被调用,那这语句根本就不会被执行,指向谁都没有意义。