JavaScript 内部函数需要签名
JavaScript inner function needs signature
我不确定这是什么意思 ERROR'Function statements require a function name.'?
objective 是添加一个给名字的函数。如果我在不编辑最后四行代码的情况下让它工作,我使用了一个内部函数来尝试将其作为最有效的解决方案来实现。
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;
}
}};
这也不会改变Name();.
您正在寻找
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");
我不确定这是什么意思 ERROR'Function statements require a function name.'? objective 是添加一个给名字的函数。如果我在不编辑最后四行代码的情况下让它工作,我使用了一个内部函数来尝试将其作为最有效的解决方案来实现。
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;
}
}};
这也不会改变Name();.
您正在寻找
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");