当检查一个变量的长度时,如果变量未定义,则会出现Javascript的错误提示信息"Cannot read property 'length' of undefined"。
- 论坛
- 当检查一个变量的长度时,如果变量未定义,则会出现Javascript的错误提示信息"Cannot read property 'length' of undefined"。
8 浏览
当检查一个变量的长度时,如果变量未定义,则会出现Javascript的错误提示信息"Cannot read property 'length' of undefined"。
我正在构建一个使用cheerio解析DOM的node爬虫。这其实更多是一个纯JavaScript的问题。在我的爬取过程中,我将一些内容加载到一个变量中,然后检查该变量的长度,如下所示:
var theHref = $(obj.mainImg_select).attr('href');
if (theHref.length){
// 做一些操作
} else {
// 做其他操作
}
这个方法工作得很好,直到我遇到一个不存在$(obj.mainImg_select).attr('href')的URL。我认为我的theHref.length检查会处理这个情况,并跳过到else: do other stuff语句,但实际上我得到了以下错误:
TypeError: Cannot read property 'length' of undefined
我在这里做错了什么,如何修复?