admin管理员组

文章数量:1599782

在使用如下判断时候,会报一个警告“assignment in condition”,就单单下面这条语句你能想出作者本身是想做什么吗?

if (var1 = var2) {
  ...
}

第一:作者意图判断var1与var2相等,但是少打了一个“=”号。所以编译程序还是要把一些警告解决掉,说不定就是隐藏的bug。

第二:作者想把var2赋值给var1并判断var2值是否非0。

但是上面这种写法明显让人感觉就是判断两个值是否相等,却由于粗心少打了“=”号。如果是第二种的情况,建议还是分开来写,增加可读性。

var1 = var2;
if (var1) {
  ...
}

在说一句,当if判断语句中,应当是if(布尔值类型),但是参数中给的不是布尔型的数据,就会报一个警告。

本文标签: Assignmentcondition