2017-09-19 37 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()

相关问题