【发布时间】:2020-10-15 18:16:48
【问题描述】:
我已经阅读了很多关于真假 (http://adripofjavascript.com/blog/drips/truthy-and-falsy-values-in-javascript.html) 的好东西,尤其是 JavaScript 中 '==' 和 '===' 之间的区别。最好的解释和资源主要来自这个 Stack Overflow 问题:
Which equals operator (== vs ===) should be used in JavaScript comparisons?
我正在处理一个表单,需要使用以下 jQuery 语法将布尔值存储到隐藏字段中:
$('[name="fieldName"]').val(true);
所以我在隐藏字段中插入一个布尔值,真或假。在屏幕处理期间,我使用以下代码在多个 if 语句中获取该字段值,并进行如下比较:
$('[name="fieldName"]').val() === "true"
请注意我如何使用 === 运算符与字符串值“true”进行比较。
我的问题;如果 JavaScript 中只有 Object 是类型引用,那么 boolean 必须是值类型。因此,我假设,由于与 === 运算符的值比较不仅比较内容,而且比较类型,所以上面的表达式应该返回 false?但是在我的代码中它返回 true - 谁能解释这是为什么?
此代码以前使用 == 进行比较,但为了避免虚假风险,我将尽可能实现 ===。这可能与 jQuery 为我转换值有关吗?
【问题讨论】:
-
比较代码中的$j是什么?
标签: javascript jquery jsp