javascript - 类型错误:为空

标签 javascript typeerror

我有一种情况,我声明一个对象 var o = null;

然后,我将它传递给一个函数,执行一些操作,并可能为其分配一个对象。

稍后,我执行parse(o.page)。 如果 o 为 null,则我得到“TypeError: o.page is null”, 程序在那里停止,因为我试图获取空值的属性。

我知道一种解决方案可能是最初将 null 分配给 o 的所有属性。

只是想知道是否有更微妙的方法来处理此错误。 因为我想处理 parse1(o);parse2(o.page1),其中 o 可以为 null。

最佳答案

您可以使用三元运算符来执行此操作:

parse2(o ? o.page1 : null)

onull时,无法让o.page独立工作。

还存在其他方法,例如返回 {} 而不是 null,因为调用不存在的属性会产生 undefined 而不是抛出错误。

一般来说,建议避免无效调用在代码中持续存在的情况。要么在使用返回值之前检查它(如上所示),要么不返回会使后续代码无效的值。

关于javascript - 类型错误:为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8171960/

相关文章:

python - OpenCV TypeError:参数 'src' 的预期 cv::UMat - 这是什么?

python - 在 python 中使用 str.format() 女巫类

javascript - Jquery-ui-1.7.2 想要突出显示取货日期和归还日期之间的日期

javascript - 这些代码的含义是什么? JavaScript

php - 根据用户答案从数据库中选择宠元素种/汽车/自行车/等的算法

javascript - 无法将目标属性添加到 anchor

python - 分配给属性引用时出现类型错误?

string - Python3 TypeError : list indices must be integers or slices, 不是 str

javascript - Jasmine 测试以验证回调不会引发错误

javascript - 如何使用 Javascript 在每个表格行的最后一个位置添加详细信息按钮?