为什么 var 组合 = null + “” 有一个值
Why does var combined = null + "" has a value?
可能是一个困惑的javascript菜鸟的一个非常基本的问题......
为什么
var hasthisvalue = null;
if (hasthisvalue)
print("hasthisvalue hs value");
和
var hasthatvalue = "";
if (hasthatvalue)
print("hasthatvalue has value");
不要打印任何东西,但是如果我将这两者结合起来
var combined = "hasthisvalue" + "hasthatvalue";
if (combined)
print ("combined has value");
是吗?
或者更直接:
var combined = null + "";
if (combined)
print ("combined has value");
如果我只添加两个没有值的变量,为什么"组合"有一个值?我错过了什么?
分别比较它们时,每个都会在if
检查中转换为false
。 当你组合它们时,null
成为字符串"null"
,所以它们的串联是字符串"null"
,它不会转换为false
前 2 个示例是值为"假"的情况。这些值等于松散比较期间的false
:
- 零
- 定义
- 空字符串
- 布尔假
- 数字 0
- 南
此列表中未列出的其他值是"真实的",在松散比较中等于true
。
第三种情况,您可以在控制台中尝试。 null+''
变成一个字符串:"null"
,因此是真实的。
相关文章:
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何在只能有一个asp.net表单的主页上从asp.net页面中的javascript中获取值
- 有可能在来自链接的警报中有一个值吗
- 是否<asp:文本框>有一个onFocusLost事件
- 让谷歌数据图表有一个24小时x轴
- PayPal按钮是否有一个简单的选项,其中金额基于一些用户输入
- 我确实有一个表单,如果用户输入了输入,它应该检查否定或空的输入框,并抛出一条警告消息
- 在这个使用hasOwnProperty的对象扩展程序中有一个错误,I'我不确定那个bug是什么,也不确定这个扩展
- 当知道同一hiearch中至少有一个元素时,遍历到元素.结构使用jquery
- PNG图像被覆盖,但每个图像都有一个链接可以更改,每次一个-Javascript/jQuery/CSS
- JQuery是否有一个“;移动“;作用或者有没有一种更紧凑的方法来做到这一点
- Regex或javascript每X个连续单词中有一个单词
- Jquery时间启动计时器,我有一个计时器的代码,但它在页面加载时启动
- 是否有一个javascript库来解析简单的查询
- 在一个函数中,我有一个未捕获的语法错误:意外的标记else
- 检查一个元素是否有一个类与另一个类总是返回true
- 我有一个用幻灯片制作的网页,但幻灯片会在屏幕上移动
- 我制作html网站的一小部分——我有一个javascript部分
- 为什么 var 组合 = null + “” 有一个值
- 如何在ng-option中有一个空白值,而不是NULL