Javascript 从函数输出读取属性
控制台将输出 未捕获的TypeError:无法读取未定义的属性“fullName”Javascript 从函数输出读取属性,javascript,Javascript,控制台将输出 未捕获的TypeError:无法读取未定义的属性“fullName” 我从面试练习本上读到了这个问题,我不明白背后的原因,有人能帮我吗?这里的问题是在return语句之后自动插入分号 您不能将代码放在return语句后的新行上,因为javascript会自动放置与return语句位于同一行,其余代码被忽略 (函数(){ 函数sayHello(){ var name=“你好,约翰”; 返回{fullName:name}; } log(sayHello().fullName); })
我从面试练习本上读到了这个问题,我不明白背后的原因,有人能帮我吗?这里的问题是在
return
语句之后自动插入分号
您不能将代码放在return语句后的新行上,因为javascript会自动放置
与return语句位于同一行,其余代码被忽略
(函数(){
函数sayHello(){
var name=“你好,约翰”;
返回{fullName:name};
}
log(sayHello().fullName);
})();代码>由于自动插入分号,解析器将以如下方式读取代码:
(function(){
function sayHello(){
var name = "Hi John";
return
{
fullName: name
}
}
console.log(sayHello().fullName);
})();
返回//
return ; // <---
{
fullName: name
}