2017-10-06 91 views
0

過去幾個小時一直在使用JavaScript挑戰,並且使用new關鍵字卡住了這個挑戰。我盡我所能地完成了第1部分和第3部分,但第2部分非常困惑。任何幫助都將不勝感激。需要幫助在2個參數中添加一個構造函數

挑戰1/3

創建使用此 關鍵字保存單個屬性到其範圍稱爲迎接函數PersonConstructor。迎接 應該是一個記錄字符串'hello'的函數。

挑戰2/3

創建一個功能personFromConstructor是需要輸入一個名稱和 的時代。當被調用時,函數將使用 新關鍵字而不是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' 
+0

哦,這實際上是一個不同的任務...重新打開。 – Cerbrus

回答

0

這可能給你一些想法:

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

它創造了新的人員對象和分配nameage屬性吧。最後它返回創建人。

+0

啊輝煌,出於某種原因我使用this.name = name;而不是宣稱人被稱爲這個關鍵字。歡呼,thx的幫助! –

相關問題