2014-02-14 78 views
0

對於爲什麼我的for循環在我的任何實際輸出發生之前顯示「undefined」的說法,我很難過。我聲明瞭所有變量,並且使用Inspect Element顯示沒有語法錯誤。For循環在迭代輸出前產生'undefined'

<!DOCTYPE HTML> 
<html lang="en"> 
<head> 
    <meta charset="UTF-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
<title>Untitled Document</title> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script> 
    $(function(){ 
    "use strict"; 
     var html, s, vindex; 
     var v = ['alpha::one::uno', 'beta::two::dos', 'gamma::three::tres']; 
     for (vindex = 0; vindex < v.length; vindex++) { 

      s = v[vindex].split('::'); 
      html += '<div class="inline ' + s[0] + '">\n'; 
      html += '<h4>' + s[1] + '</h4>'; 
      html += '<a href="javascript://" class="link">' + s[2] + '</a></div>'; 
     } 
     $("div").append(html); 
    }); 
</script> 
</head> 

<body> 
<div></div> 
</body> 
</html> 

http://jsfiddle.net/a5b6C/1/

+2

Inspect Element允許您瀏覽和操作DOM;它與JavaScript語法錯誤無關。您正在考慮JavaScript控制檯。 – greenie2600

+0

你是對的。 –

回答

6

未定義的字符串顯示,因爲htmlundefined

var html, s, vindex; 

var html;基本上是同樣的事情var html = undefined;

將其設置爲空字符串。

var html = "", s, vindex; 
+0

打擾我,而我砸我的額頭。 –