我得到这个例外在下面的代码:类型错误:无法读取 财产“的toString”的未定义原因不明的JavaScript错误
for (var key in obj) {
var val = obj[key];
var s = val.toString();
}
怎么可能为VAL在这段代码是不确定的?
我没有实际数据的日志,所以我不确定obj中是什么,但它是从JSON构建的,我没有JSON输入。
这才是真正的全码:
function deepMatchKeyword(obj, keyword) {
for (var key in obj) {
var val = obj[key];
if (typeof val == 'object' && !(val instanceof Array)) {
if (deepMatchKeyword(val, keyword))
return true;
} else {
var s = val.toString();
if (s.toLowerCase().includes(keyword))
return true;
}
}
return false;
}
它并不是真正无法解释的,'val'没有被定义,可能是因为obj [key]没有被定义为 – adeneo
'var obj = {a:undefined};'? –