Javascript - innerHTML返回undefined然后返回结果

时间:2013-06-28 05:21:44

标签: javascript undefined innerhtml

<head>
<script>
function whammo()
{
    var i = 1;
    while(i<=5)
    {
        document.write("<h6>Test</h6>");
        i=i+1;
    }
}
</script>
</head>
<body>

<div id='page'></div>
<script>
document.getElementById('page').innerHTML = whammo();
</script>

</body>

whammo函数是返回要显示的5 h6测试,但它返回以下内容: 未定义 测试 测试 测试 测试 测试

我在这里做了我的测试: http://www.w3schools.com/jsref/tryit.asp?filename=tryjsref_elmnt_innerhtml

为什么返回未定义?

2 个答案:

答案 0 :(得分:3)

您需要创建一个字符串,并从whammo

返回值
function whammo()
{
    var i = 1, html = '';
    while(i<=5)
    {
        html  += "<h6>Test</h6>";
        i=i+1;
    }
    return html
}

演示:Fiddle

答案 1 :(得分:1)

这个更短(并且 Arun P Johny 最后忘记分号)

function whammo() {
    for (var i=0, html=''; i<=5; i++) {
        html += '<h6>Test</h6>';
    }
    return html;
}

另外,一条建议,使用jsfiddle来展示你自己的例子:http://jsfiddle.net/vladkras/y2vbk/ 而不是w3school