JS构造函数中的某些东西并不完全有意义。 当我做这样的事情时:
function extends(child, parent) {
child.prototype = Object.create(parent.prototype);
child.prototype.constructor = child;
};
永远不会调用“构造函数”。意思是,“子”函数确实调用了,因为它是我们所做的“新孩子()”。但如果我做这样的事情:
function extends(child, parent) {
child.prototype = Object.create(parent.prototype);
child.prototype.constructor = function() {
alert("test");};
};
“警报”永远不会被激发,因为任何方式都会调用真正的“子”函数。
为什么?我怎样才能将构造函数覆盖为我想要的东西?
答案 0 :(得分:0)
我理解"问题"。永远不会在创建中调用构造函数。它只是为了使用" prototype.constructor"来了解对象类型是什么。 除非该函数是你想要运行的构造函数,否则你不能给它运行不同的函数。