JavaScript构造函数从未调用过

时间:2016-03-01 19:40:26

标签: javascript class oop constructor

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");};
};

“警报”永远不会被激发,因为任何方式都会调用真正的“子”函数。

为什么?我怎样才能将构造函数覆盖为我想要的东西?

1 个答案:

答案 0 :(得分:0)

我理解"问题"。永远不会在创建中调用构造函数。它只是为了使用" prototype.constructor"来了解对象类型是什么。 除非该函数是你想要运行的构造函数,否则你不能给它运行不同的函数。