我在 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
为
错误
0
+0
和-0
""
、''
和``
- 长度为 0 的字符串NaN
所以它不那么排他,并且 obj.a
可以是更多的值而无需输入 if
。
关于javascript - ifna) 和 if(a!=null && a!=undefined) 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51971798/