我一直在使用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