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