Javascript:typeof shows';对象';,然后抛出空指针
也许有人能解释一下 我偶尔会收到JS版本的NPE,尽管日志显示有问题的变量的类型是“object” 以下是日志记录:Javascript:typeof shows';对象';,然后抛出空指针,javascript,Javascript,也许有人能解释一下 我偶尔会收到JS版本的NPE,尽管日志显示有问题的变量的类型是“object” 以下是日志记录: typeof myVar: object ERROR in main._getFolderCount(): TypeError: myVar is null console.error("ERROR in main._getFolderCount(): " + e); 代码如下: try{ console.log('typeof myVar: ' + typeof myV
typeof myVar: object
ERROR in main._getFolderCount(): TypeError: myVar is null
console.error("ERROR in main._getFolderCount(): " + e);
代码如下:
try{
console.log('typeof myVar: ' + typeof myVar);
if (typeof myVar !== 'undefined' && typeof myVar !== 'null'){
if (currentMsgsObj && currentMsgsObj.folderId == data[i].id && myVar.totalRows!=data[i].count) {
myVar.totalRows=data[i].count;
}
} else {
}
} catch (e) {
console.error("ERROR in main._getFolderCount(): " + e);
}
}
因此,您可以看到日志显示myVar是typeof‘object’,代码似乎通过了‘undefined/null’检查,然后在访问myVar成员时继续爆炸。在JavaScript中,
typeof null==‘object’
您可以使用==
检查某些内容是否为null
:
if (blarg === null) ...
使用
typeof blarg==“null”
永远不会起作用。null
类型是在对象上使用typeof
操作符时返回对象。woah,学到了一些东西。我认为null的行为类似于未定义的,而null的工作方式类似于未定义的。谢谢