我一直在使用Javascript,最近我一直困扰着一个我无法解决的错误。Javascript会抛出一个“未定义”错误
Firefox控制台会抛出“info [last] is undefined”错误,我不知道是什么导致了这种情况。这里是代码,引发麻烦的线是7号:
$("textarea").each(function() {
var id = $(this).parents("div.article").attr('id').split('_')[1],
kind = $(this).attr("class"),
text = $(this).val(),
last = info.length-1;
if(last !== 0) {
if(info[last].id == id) {
info[last].info.push([kind, text]);
}
} else {
object = {
id: id,
info: [[kind, text]]
};
}
info.push(object);
});
希望你们可以帮我弄明白。
'info'中发生了什么,其中有零个元素? “信息”在哪里定义? – 2010-07-16 17:27:06
没看过!==以前,你确定它有效吗? (与!=相比) 编辑:R. Hill是对的,如果info有0个元素,那么你做一个info [-1] .id == id ... 更改最后!==检查最后> 0 – Steffen 2010-07-16 17:28:39
Steffen:!==是严格的!=,它不会进行类型转换。 – Jake 2010-07-16 17:36:34