![](https://i-blog.csdnimg.cn/blog_migrate/e656f7632462a40328684c673bd80301.png)
一大早老朱碰到小白问道:“小白,这几天学习web前端的过程中有哪些不明白的地方?”
小白:“判断语句能不能再跟我系统说上一遍,用了一段时间javascript感觉判断语句还是用的不太熟练。”
老朱:“好吧!那咱就再过上一遍。上次我跟你说过判断语句的条件是什么来着,还记得么?”
小白:“记得,true、false还有undefined,true为真其他两个为假。判断语句:条件为真执行if里面的内容,为假执行else里面的内容。”
![](https://i-blog.csdnimg.cn/blog_migrate/794dc333984235e1991ea7800b1a2e7c.png)
老朱:“之前因为你刚接触javascript,所以我就把undefined也说成了假,严格意义上来说undefined(未定义)不能说它是假,它就代表未定义不代表别的,只不过判断的时候javascript把它看成了不为真(not true),在判断的时候我们可以给条件前面加上感叹号表示“非”,比如'!true'就代表false,‘!(2>3)’的值是true。在js里面还有几个值不是false但他们却是not true的情况,你看看这几个。”
![](https://i-blog.csdnimg.cn/blog_migrate/9c03176ce19a317b77e02b821ae5cffa.png)
![](https://i-blog.csdnimg.cn/blog_migrate/afe201c517a4c54403d1cec6423560ef.png)
“看了这个输出结果你就明白了,除了字符串0之外其他几个的‘非’都是true,所以判断的时候我们就可以把undefined、NaN、null、0看作假的情况,也就是说如果是这几个值就执行else里面的情况,如果是这几个值的‘非’(前面加叹号)就执行if里面的语句。比如下面这个语句可以检查变量a是否有过定义,如果有定义输出a的值,如果没有就定义一个变量a”
![](https://i-blog.csdnimg.cn/blog_migrate/8642392c5485ba1000309fdb90fcb5cd.png)
![](https://i-blog.csdnimg.cn/blog_migrate/e8edf6e7dc1c8025bca0db9d27c8e770.png)
“上面的语句也可以写成‘非’,这样更容易理解!”
![](https://i-blog.csdnimg.cn/blog_migrate/0c4c1bc7dfd07f8b4df03ba2f92f3ad0.png)
“除了这上面几个不为‘真’的情况,剩下的值我们基本都可以看作是不为‘假’,所以在这些值前面不加叹号可以看作真,加上叹号输出的都为假!。”
![](https://i-blog.csdnimg.cn/blog_migrate/73425c9aa7ec31937e209b9723ac6705.png)
![](https://i-blog.csdnimg.cn/blog_migrate/8021d2762aad89ad5af3aaa50b1b050c.png)
“这块可能稍微有点绕,你先试着把刚说的这些情况自己写一些判断语句练习练习,熟悉以后我们再说其他的判断语句知识吧!”
想学H5的朋友可以关注老炉,您的关注是我持续更新《小白HTML5成长之路》的动力!