Javascript 错误处理程序在任何情况下都能工作
处理程序正在处理我的代码,但当值不为null时,它不应发出警报。在这两种情况下我都得到了警告。我不知道出了什么问题 变量数据={}; var deviceId=[asdfa23,asdfa32] 数据[deviceId]=asdfasdf; 试一试{ ifdata[deviceId]。值==null 这个是空的 } 捕手{ 警报器 } 将数组分配给数据[deviceId] 该数组有两个属性0和1,以及所有继承的属性,如forEach和lengthJavascript 错误处理程序在任何情况下都能工作,javascript,Javascript,处理程序正在处理我的代码,但当值不为null时,它不应发出警报。在这两种情况下我都得到了警告。我不知道出了什么问题 变量数据={}; var deviceId=[asdfa23,asdfa32] 数据[deviceId]=asdfasdf; 试一试{ ifdata[deviceId]。值==null 这个是空的 } 捕手{ 警报器 } 将数组分配给数据[deviceId] 该数组有两个属性0和1,以及所有继承的属性,如forEach和length 值不是普通数组的属性,您还没有添加它。只需在i
值不是普通数组的属性,您还没有添加它。只需在if语句中替换您的值:
(data[deviceId].value == null)
作者:
您没有值字段,它不是对象
您可以使用一些方法来检查数组上的条件
var data = {};
var deviceId = "thermoment123";
data[deviceId] = ["er213", "er243"];
for(var device in data){
try{
var bool = data[deviceId].some(function(elm){
return elm
? true
: false
});
if (!bool){
var errorSensor = "The sensor "+ deviceId + " has no data"
throw errorSensor;
}
} catch(err){
alert(err)
}
}
您的代码中有几个语法错误:
var data = {};
var deviceId = "thermoment123";
data[deviceId] = ["er213", "er243"];
for (var device in data) {
try {
if (data[deviceId] == null) { //removed the .value
var errorSensor = "The sensor " + data[deviceId] + " has no data"; //added ';'
throw errorSensor;
} //close brackets that start at from if statement
} catch (err) {
alert(err); //added ';'
}
}
您有一个语法错误,if块未关闭警报的内容是什么?我已经编辑了代码,并提供了一个使用某种方法的工作示例
var data = {};
var deviceId = "thermoment123";
data[deviceId] = ["er213", "er243"];
for (var device in data) {
try {
if (data[deviceId] == null) { //removed the .value
var errorSensor = "The sensor " + data[deviceId] + " has no data"; //added ';'
throw errorSensor;
} //close brackets that start at from if statement
} catch (err) {
alert(err); //added ';'
}
}