循环json时为什么会多出一个undefined

fatears
  • 326
var text='[{"id":"1","title":"Hello world!","created":"1457222400","content":"Hello world"}]';
var json=eval('('+text+')');
for(var i=0;i<json.length;i++)
t+=json[i].title+'<br>';
box.innerHTML=t;

输出的结果为什么是undefinedHello world!?

回复
阅读 2.6k
3 个回答

你用的 +=,目测变量 t 没有初始化: t = ''

有几点建议:

  1. 出现undefinedHello主要是因为,t没有初始化,又使用了+=, undefined +"Hello world" 就成了现在的结果。
    2.最好不要使用evel,这是非常危险以及不推荐的.

3.这段代码,改成这样可能好点。

var text='[{"id":"1","title":"Hello world!","created":"1457222400","content":"Hello world"}]',
     t = "";
var json = JSON.parse(text);
for(var i=0;i < json.length; i++){
    t+=json[i].title + "</br>"
}
box.innerHTML = t ; 
neechange
  • 0
新手上路,请多包涵

这是PHP传过来的么,
字符传搞的,数组不是数组 JSON不是JSON

你知道吗?

宣传栏