javascript - javascript 中 if 语句中的两个条件似乎无法正常工作

标签 javascript

我无法让多个 if 语句正常工作。

这是来自 TileBoard 的代码摘录适用于 HomeAssistant。

这是我所拥有的:

   title: function (item, entity) {
       var start = entity.attributes.next_activity_start;
       var hold_state = entity.attributes.hold_state;
       var hold_until = entity.attributes.hold_until;
       if ( hold_state == "on" && hold_until == "null" ); { return 'N/A - Hold'; } return timeAgo(start);
   }, 

hold_state 填充为“on”,hold_until 填充为“null”,这正是我在此代码中所期望的。但是,if 子句似乎只有通过查看第一个条件才能真正正常工作,而不是正确考虑第二个条件(hold_until ==“null”)。我在此 if 语句中使用了不正确的语法吗?如果hold_state 开启且hold_until 为空,我希望它返回“N/A - Hold”。

最佳答案

我认为这是因为,您期望一个字符串为空。类型期望 null 而没有字符串类型,同时删除 if case 后的 ;

if ( hold_state == "on" && hold_until == null ) { return 'N/A - Hold'; } return timeAgo(start);

关于javascript - javascript 中 if 语句中的两个条件似乎无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57759886/

相关文章:

javascript - Backbone 创建复杂的标记名 View

javascript - 本地存储读取次数过多

javascript - setInterval多次触发函数

javascript - Jasmine beforeEach 不等待完成回调

javascript - 将字符串拆分为字母数字和其他字符

javascript - 在 JavaScript 中强制二进制字符串的位长度?

JavaScript 事件处理程序参数

javascript - 处理验证邮件

javascript - 如何计算选中的复选框数、选中后更改背景以及悬停继续工作

javascript - 添加到列表而不是单击时替换内容