我在 JavaScript 中使用下面的代码将网站上的字符串更改为使用 JavaScript 的布尔值。当我提醒测试它说它是真的,但是当我改变名字 bool 是看到任何想法为什么会这样。
var test = document.getElementById("name").value;
var nameBool= (String == test);
我在 JavaScript 中使用下面的代码将网站上的字符串更改为使用 JavaScript 的布尔值。当我提醒测试它说它是真的,但是当我改变名字 bool 是看到任何想法为什么会这样。
var test = document.getElementById("name").value;
var nameBool= (String == test);
将字符串与您期望它应该代表真实值时的值进行比较:
var nameBool = test === "true";
我猜这test
是复选框的布尔值?然后你会得到它的文本表示
var nameBool = String(test); // type conversion
或更简单
var nameBool = "" + test; // concatenation with empty string - implicit conversion
然后变成"false"
or "true"
,就像在你的alert()
(也做了字符串化)
相反,你会使用
var test = "true" // or "false"
var nameBool = test === "true" || (test === "false" ? false : throw new SyntaxError("non-boolean string value"));