js报错uncaught typeerror: cannot read property ‘length’ of null
先上问题代码:
fmt_customerLaber : function (column,row){
var cuslaber ="";
if( row.cusLabelList != null && row.cusLabelList.length > 1){
var len = row.cusLabelList.length -1;
for (var i=len;i>=0;i--){
cuslaber += row.cusLabelList[i].labelName+",";
}
console.log(cuslaber);
return cuslaber.substring(0, cuslaber.lastIndexOf(','));;
} else{
return '无';
}
}

主要想进行判空防止下面取空报错,结果在判空是时候报错了,报错信息也很明显:大概就是length方法不适用于null的数组。
虽然我的结果是有返回值的,看下图打印消息:

顿时就有点困惑,有数据怎么还是报null呢,看了一些文章说是数据转换的问题,但是我看了其他地方使用的地方然后问了下前端童鞋发现这是一个前端基本语法:if里面不用加=、!null这种。
然后修改了一下代码:
fmt_customerLaber : function (column,row){
var cuslaber ="";
if( row.cusLabelList && row.cusLabelList.length > 1){
var len = row.cusLabelList.length -1;
for (var i=len;i>=0;i--){
cuslaber += row.cusLabelList[i].labelName+",";
}
console.log(cuslaber);
return cuslaber.substring(0, cuslaber.lastIndexOf(','));;
} else{
return '无';
}
}
然后就好了,所以前端语法还需要多度学习。
本文介绍了在JavaScript中遇到'Cannot read property 'length' of null'错误的情况。问题源于尝试对null值调用length属性。通过提供问题代码示例和前端基本语法的理解,解释了错误产生的原因。修正方法是在判断条件中明确检查变量是否为null,以避免此类错误。学习和理解正确的前端语法是避免此类问题的关键。
5657

被折叠的 条评论
为什么被折叠?



