-2

我在 JavaScript 中使用下面的代码将网站上的字符串更改为使用 JavaScript 的布尔值。当我提醒测试它说它是真的,但是当我改变名字 bool 是看到任何想法为什么会这样。

var test = document.getElementById("name").value;
var nameBool= (String == test);
4

2 回答 2

2

将字符串与您期望它应该代表真实值时的值进行比较:

var nameBool = test === "true";
于 2013-05-10T11:05:02.430 回答
0

我猜这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"));
于 2013-05-10T11:10:28.980 回答