Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/448.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 错误处理程序在任何情况下都能工作_Javascript - Fatal编程技术网

Javascript 错误处理程序在任何情况下都能工作

Javascript 错误处理程序在任何情况下都能工作,javascript,Javascript,处理程序正在处理我的代码,但当值不为null时,它不应发出警报。在这两种情况下我都得到了警告。我不知道出了什么问题 变量数据={}; var deviceId=[asdfa23,asdfa32] 数据[deviceId]=asdfasdf; 试一试{ ifdata[deviceId]。值==null 这个是空的 } 捕手{ 警报器 } 将数组分配给数据[deviceId] 该数组有两个属性0和1,以及所有继承的属性,如forEach和length 值不是普通数组的属性,您还没有添加它。只需在i

处理程序正在处理我的代码,但当值不为null时,它不应发出警报。在这两种情况下我都得到了警告。我不知道出了什么问题

变量数据={}; var deviceId=[asdfa23,asdfa32] 数据[deviceId]=asdfasdf; 试一试{ ifdata[deviceId]。值==null 这个是空的 } 捕手{ 警报器 } 将数组分配给数据[deviceId]

该数组有两个属性0和1,以及所有继承的属性,如forEach和length


值不是普通数组的属性,您还没有添加它。

只需在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 ';'
    }
}