需要帮助在具有2个参数的函数内添加构造函数

时间:2017-10-06 12:29:15

标签: javascript oop constructor

过去几个小时一直在处理javascript挑战,并使用new关键字遇到了这个挑战。我在第1部分和第3部分中尽我所能,但在第2部分非常困惑。任何帮助都将非常感激。

  

挑战1/3

     

创建一个使用它的函数PersonConstructor   用于将单个属性保存到名为greet的作用域的关键字。迎接   应该是一个记录字符串'hello'的函数。

     

挑战2/3

     

创建一个函数personFromConstructor,它将名称和输入作为输入   年龄。调用时,该函数将使用。创建人物对象   new关键字而不是Object.create方法。

     

挑战3/3

     

如果不编辑已编写的代码,请添加一个介绍方法   PersonConstructor函数记录“嗨,我的名字是[名字]”。

*** CHALLENGE 1 of 3 ***/

function PersonConstructor() {
    // add code here
    this.greet = function () {
    console.log('hello');
  }

}


// /********* Uncomment this line to test your work! *********/
var simon = new PersonConstructor;
// simon.greet(); // -> Logs 'hello'



/*** CHALLENGE 2 of 3 ***/

// add code here
function personFromConstructor(name, age) {      


}

var mike = personFromConstructor('Mike', 30);


// /********* Uncomment these lines to test your work! *********/
//console.log(mike.name); // -> Logs 'Mike'
// console.log(mike.age); //-> Logs 30
// mike.greet(); //-> Logs 'hello'



/*** CHALLENGE 3 of 3 ***/
// add code here
PersonConstructor.prototype.introduce = function(){
  console.log('Hi, my name is ' + name)
}


console.log(mike.introduce()); // -> Logs 'Hi, my name is Mike'

1 个答案:

答案 0 :(得分:0)

这可能会给你一些想法:

function personFromConstructor(name, age) {      
    var person = new PersonConstructor();
    person.name = name;
    person.age = age;
    return person;
}

它会创建新的人物对象,并为其分配nameage属性。最后它返回创建的人。