javascript - ifna) 和 if(a!=null && a!=undefined) 的区别

标签 javascript html

我在 DOM 中填充数据时遇到了很多问题,因为在我想要使用的对象或数组中没有值。

比如我有一个对象:

var obj = {
  name: 'rajat',
  age: 20
}

我在 HTML 元素上动态填充数据,如下所示:

<p id='paragraph'></p>  

var data = document.getElementById('paragraph');
data.innerHTML = obj.name;

现在,我只想在为 HTML 元素赋值之前添加条件,我对 if(obj.a)if(obj.a!=undefined && obj. a!=null).

谁能解释一下两者的区别?

最佳答案

if(obj.a) 将评估为 true,如果 obj.a 的值是 truthy,则一切都是 truthy,但是

  • 错误
  • 0
  • +0-0
  • ""''`` - 长度为 0 的字符串
  • null
  • 未定义
  • NaN

if(obj.a!=undefined && obj.a!=null) 即使 obj.a

也会评估为 true
  • 错误
  • 0
  • +0-0
  • ""''`` - 长度为 0 的字符串
  • NaN

所以它不那么排他,并且 obj.a 可以是更多的值而无需输入 if

关于javascript - ifna) 和 if(a!=null && a!=undefined) 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51971798/

相关文章:

html - 类属性未显示在页脚中

javascript - 调用将多个 JSON 文件编译为一个

javascript - jQuery toggleClass 有效,在点击时添加 .text() 替换会破坏它

javascript - jquery 提示给 python 脚本赋予变量值

JavaScript数组到PNG? - 客户端

html - 表头中的 Twitter Bootstrap 排序图标对齐问题

javascript - 返回和小于或等于 n 的数组中所有可能的数字组合

HTML 最大浏览器宽度

html - 使相对定位的元素不影响布局/高度

javascript - 从图像中读取二进制数据并使用 JavaScript 保存