(function(){
function sayHello(){
var name = "Hi John";
return
{
fullName: name
}
}
console.log(sayHello().fullName);
})();
控制台会输出
Uncaught TypeError: Cannot read property 'fullName' of undefined
我从一本面试练习册上读到了这个问题,但我无法理解其背后的原因,有人可以帮助我吗?
最佳答案
这里的问题是在 return
语句后自动插入分号。
您不能将代码放在 return 语句后的新行上,因为 javascript 会自动将 ;
与 return 语句放在同一行,而其余代码将被忽略。
(function(){
function sayHello() {
var name = "Hi John";
return { fullName: name };
}
console.log(sayHello().fullName);
})();
关于javascript - 从函数输出读取属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51351724/