之前经常搞错的一个问题,现在记录一下
1 | var data = ({ "val" : "7" , "flag" : "true" }); |
2 | <FONT face=Verdana></FONT> |
下面需要如何判断flag的值?
因为true加双引号==推测是字符串true
如果不加双引号===就是布尔值true
这个很重要,之前我一直没有搞清楚这一点
写法1
if(data.flag=true){…}else{..}
这样写怎么都是正确的,根本得不到else的值,原因是这种写法相当于
if(true){…}
写法2
if(data.flag==true){…}else{..}
没有这种写法
写法3
if(data.flag=’true’){…}else{..}
这样写怎么都是正确的,根本得不到else的值,原因是这种写法相当于
if(true){…}
写法4
if(data.flag==’true’){…}else{..}
这个才是正确的写法
“=”:这个表示赋值,不是表示运算符
“==”:表示等于(值)
“===”:表示全等于(类型和值)