我不确定这是什么意思 ERROR'Function statements require a function name.'?目标是添加一个给出名称的函数。如果我在不编辑最后四行代码的情况下让它工作,我使用了一个内部函数来尝试完成这个作为最有效的解决方案。function ChangePerson(name){ changeName: function(){ if(this.name != name) { this.name = name; return name; }};var newPerson = new ChangePerson("John");assert(newPerson.name == "John", "The name has been set on initialization" );ninja.changeName("Bob");assert( newPerson.name == "Bob", "The name was successfully changed." );更新此外,之前的尝试是function ChangePerson(name){ return changeName(){ if(this.name != name) { this.name = name; }}};这也不会 changeName();。
1 回答

鸿蒙传说
TA贡献1865条经验 获得超7个赞
你正在寻找
function Person(name) {
this.name = name;
this.changeName = function(newName) {
this.name = newName;
};
}
var ninja = new Person("John");
ninja.changeName("Bob");
或者
function makePerson(name) {
return {
name, // name: name,
changeName(newName) { // changeName: function(newName) {
this.name = newName;
},
};
}
var ninja = makePerson("John");
ninja.changeName("Bob");
添加回答
举报
0/150
提交
取消