我预计以下两个代码段是等效的:
function waitFirstLoadHTML(message) {
var r = '<div class="form-blocker">' +
'<span class="ui-corner-all">' + message + '</span>' +
'</div>';
return r;
}
和
function waitFirstLoadHTML(message) {
return '<div class="form-blocker">' +
'<span class="ui-corner-all">' + message + '</span>' +
'</div>';
}
但不知何故,第一个按预期返回字符串值,而第二个返回undefined
。知道为什么吗?
答案 0 :(得分:1)
我总是在JavaScript中将字符串放在多行上时遇到问题 - 如果你这样做,它是否有效:
function waitFirstLoadHTML(message)
{
return '<div class="form-blocker"><span class="ui-corner-all">'+message+'</span></div>';
}
答案 1 :(得分:1)
你的例子很好用。如果您在浏览器中查看结果,请说:
document.write(waitFirstLoadHTML(undefined));
它将显示为undefined
,但实际字符串为:
<div class="form-blocker"><span class="ui-corner-all">undefined</span></div>
你确定你没有遗漏你的例子吗?
答案 2 :(得分:0)
在Javascript中,您无需将返回分为两个语句(除非您愿意)。我想这个例子可能还有其他东西丢失了?