我正在处理以下任务,无法找到解决方案。我有构造函数(Tree)和使用它创建的对象(theTree)。现在我想添加一个新函数(alter),它将改变构造函数的问候值(所有用它创建的新对象)以及现有对象的问候值。说实话,我不知道如何在该函数中找到构造函数的属性。如果你能看看并建议从哪里开始,我将不胜感激。这是我到目前为止所得到的:
function Tree(name) {
this.name = name;
this.greeting = "Hi";
}
var theTree = new Tree("Pine");
theTree.greeting = "hello";
var alter = function(constructor, greeting) {
this.greeting = greeting;
}
答案 0 :(得分:0)
将greeting
放在原型上。从构造函数中删除this.greeting =
,并将alter
的正文更改为constructor.prototype.greeting = greeting;
。
但是,这不会更改已直接设置它的实例的greeting
值。没有人知道创建了什么实例,除非你以某种方式自己跟踪它们。
答案 1 :(得分:0)
var alter = function(tmpObject,greeting){
tmpObject.greeting = greeting;
console.log(tmpObject.greeting);
}
要改变函数,请传递构造函数和问候消息。它会改变。