处理 Javascript 中的空值[重复]
2019-08-25
54
我有一个如下所示的 Javascript 函数:
function refresh(selection, xPath, yPath, xAnnotationSelection, yAnnotationSelection) {
var coords = selection.node().__coord__;
...
}
有时调用该函数时,变量
selection
尚未设置,这会导致抛出以下异常:
Uncaught TypeError: Cannot read property ' coord ' of null
有什么更好的方法可以编写语句,使其首先检查以确保
selection
不为空,然后再尝试调用其上的方法?
伪代码:
var coords = (selection ? ((selection.node ? selection.node().__coord__: null) : null);
2个回答
您可以写 -:
var coords = selection && selection.node && selection.node().__coord__;
Abhisar Tripathi
2019-08-25
我认为你的功能的最佳方式是:
function refresh(selection, xPath, yPath, xAnnotationSelection, yAnnotationSelection) {
const node = selection && selection.node();
if (!node) {
return null;
}
var coords = node.__coord__;
...
}
Maxim Pyshko
2019-08-25