2017-09-19 35 views
-3

爲什麼我的控制檯中沒有定義?console.log(person.sayName());給我undefined

var person = { 
 
    name: "Subash", 
 
    sayName: function() { 
 
    console.log('Hi, ' + this.name); 
 
    } 
 
} 
 
console.log(person.sayName());

+2

爲什麼你默默的看着我們?喊叫是無禮的。它不會幫助你更快地得到答案。相反,解釋你比我的代碼有什麼錯誤更清楚的問題,並在你的問題中做。見[問]。更好的是,參加[旅遊]並閱讀[幫助]頁面,以瞭解如何在這裏進行自我介紹。 –

回答

1

person.sayName()不返回任何東西,所以undefined

var person = { 
 
    name: "Subash", 
 
    sayName: function() { 
 
    console.log('Hi, ' + this.name); 
 
    return 'Hi, ' + this.name; 
 
    } 
 
} 
 

 
console.log(person.sayName());

+0

這是有道理的。謝謝 – skarki

1

你的未定義的是因爲該行的

的console.log(person.sayName());

由於person.sayName()沒有返回,該行被記錄爲未定義

您可能正在尋找這樣的事情:

var person = { 
    name: "Subash", 
    sayName: function() { 
     console.log('Hi, ' + this.name); 
    } 
} 
person.sayName(); 
0

你應該看到2個undefined S IN您的控制檯:兩者都是評估這兩個表達式的結果,第一個是person的聲明,第二個是console.log()

相關問題