Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/477.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaScript中的原型问题_Javascript_Prototype - Fatal编程技术网

JavaScript中的原型问题

JavaScript中的原型问题,javascript,prototype,Javascript,Prototype,我有以下代码: function University(name) { this.name = name } University.prototype = { sayName: function() { console.log(this.name) }, toString: function() { console.log("WUSTL") } }; var univ = new University("Washington

我有以下代码:

function University(name) {
    this.name = name
}
University.prototype = {
    sayName: function() {
        console.log(this.name)
    },
    toString: function() {
        console.log("WUSTL")
    }
};
var univ = new University("Washington University");
console.log(univ instanceof University);
console.log(univ.constructor == University); // false
console.log(univ.constructor == Object);     // true

有人能解释为什么“University”实例的构造函数改为Object而不是University吗?

因为您重写了知道构造函数身份的原始原型。

您需要在重写原型时重置原型:
University.prototype.constructor=University。关于原型的一个有用的例子。