JavaScript 内部函数需要签名

我不确定这是什么意思 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();。


温温酱
浏览 189回答 1
1回答

鸿蒙传说

你正在寻找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");
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript