以下是代码:
function ClassName() { }
var cnObj = new ClassName();
ClassName.prototype.func = function() { console.log("hello"); }
cnObj.func(); // => "hello"
ClassName.prototype = new Object();
cnObj.func(); // => undefined
如果我们没有明确指定原型JavaScript默认使用Object。因此,当我将新函数func
添加到ClassName
时,它可以正常工作。但是当我将func
指定为Object
原型时,函数ClassName
是否以某种方式从原型中删除了?
这个问题与this one有点类似,但区别在于我在使用与添加新函数func
之前相同的原型。