无法理解Javascript输出
下面的代码正在打印“HelloundDefined”,但我希望它打印“Hello there” 您已将对象分配给无法理解Javascript输出,javascript,Javascript,下面的代码正在打印“HelloundDefined”,但我希望它打印“Hello there” 您已将对象分配给a …您立即用一个新对象覆盖它,该对象与您在前一行创建的对象完全没有连接 所述前一个对象没有指向它的引用,并被垃圾回收 您似乎正在寻找(警告:ES6) var proto={ 年龄:功能(a){ console.log(a+this.val) } }; ; var a={val:“there”}; setPrototypeOf(a,proto); a、 年龄(“你好”)好的…明白了,
a
…您立即用一个新对象覆盖它,该对象与您在前一行创建的对象完全没有连接
所述前一个对象没有指向它的引用,并被垃圾回收
您似乎正在寻找(警告:ES6)
var proto={
年龄:功能(a){
console.log(a+this.val)
}
};
;
var a={val:“there”};
setPrototypeOf(a,proto);
a、 年龄(“你好”)代码>好的…明白了,所以添加属性“val”的正确方法是在对象下面写a.val=“there”。create..@MukulChakravarty:是的,没错,你应该这样做<代码>对象。setPrototypeOf
有点不受欢迎。使用调试器逐步检查代码并观察它在做什么。
var proto = {
age: function(a) {
console.log(a+this.val)
}
};
;
var a = { val: "there" };
a = Object.create(proto);
a.age("hello");
var a = { val: "there" };
a = Object.create(proto);