这些条件语句有什么问题?

时间:2019-02-22 08:06:19

标签: javascript conditional-statements

我的脚本遇到问题。这是带有性别选择选项的表格。当页面加载gender == true的值时,因此它应满足if条件的第一部分,并将gender设置为male。为什么要进入else条件并分配值gender = female

在数据库中,gender列的数据类型为位。

var gender = data[0].Gender; // gender = true 
if (gender == "true") {
    gender = "male";
} else {
    gender = "female"; // gender = female
}

2 个答案:

答案 0 :(得分:2)

if (gender == "true") {更改为if (gender == true) {。您应该比较布尔值,而不是字符串。

编辑:正如评论者所说,if (gender) {会更简洁。

答案 1 :(得分:1)

由于“ true”不是布尔类型,而是字符串类型,因此比较if (true == "true")将始终失败。

var gender = data[0].Gender;      ** gender = true/false **
   if (gender) {
     gender = "male";
   }
   else {
     gender = "female"; **gender= female**
   }

这里有两个有关boolean from W3Schoolscomparisons的链接