如果我有以下代码,为什么它会返回一个错误,说 Cannot set property 'second_prop' of undefined 。我认为您可以扩展原型属性并为对象原型添加更多变量和方法。既然两个console语句都返回'Object'和true,那为什么返回undefined的错误。我的想法是,如果“obj”是 Object 类型的对象,那么我应该能够做 temp.prototype.newproperty?因此,对象将具有“新属性”。但我显然错了,所以我在这里遗漏了一些东西。更重要的是,当 obj 已经是对象文字时,为什么我需要执行 Object.create() ?不是已经是对象了吗?我只是在看一些例子并试图理解这一点
var obj = {
first_property: 'first property'
}
console.log(typeof obj);
console.log(obj instanceof Object);
var temp = Object.create(obj);
temp.prototype.second_prop = 'second property'
输出
//object
//true
//Uncaught TypeError: Cannot set property 'second_prop' of undefined
那么,为什么我不能做 temp.prototype 或 obj.prototype?