文章目录
- 1.定义的变量但未赋值在if中认为是假
- 2.赋值为空字符串在if中认为是假
- 3. 只要有字符,即使是"空格字符"if判断也为真。
- 4. 赋值为0或者0.0在if中则为假,其他数值认为是真
- 5. js中的特殊值null,undefined,都是假
- 6. 已定义的函数,根据调用方式又分为两种
- 6.1 不带括号的,如果定义了就是真,没有定义会报错
- 6. 2带括号的,其实相当于调用函数,自然是根据函数的返回值判断真假
- 7. 已定义的对象,未赋值时在if中则为假,赋值后是真。
- 8. 已定义的对象的属性字段,和单独的变量是一样的,例如数值型为0时是假,其他为真,字符串型是为空值时是假,其他为真。
- 9. 已定义的对象的方法,和单独的函数是一样的。 不加括号是如果没定义就是假。加了括号相当于调用方法,就是根据返回值判断真假。
遇到好几次了老是忘记,总结一下
总结:
最基本是null,undefined,if判断都是假;对于数值类型,0是假,其他为真;对于字符类型空字符串是假,其他为真,对于方法属性,如果定义了就是真,否则就是假,其他所有都可以看做是这些的变相应用。
1.定义的变量但未赋值在if中认为是假
2.赋值为空字符串在if中认为是假
3. 只要有字符,即使是"空格字符"if判断也为真。
4. 赋值为0或者0.0在if中则为假,其他数值认为是真
5. js中的特殊值null,undefined,都是假
6. 已定义的函数,根据调用方式又分为两种
6.1 不带括号的,如果定义了就是真,没有定义会报错
6. 2带括号的,其实相当于调用函数,自然是根据函数的返回值判断真假
7. 已定义的对象,未赋值时在if中则为假,赋值后是真。
8. 已定义的对象的属性字段,和单独的变量是一样的,例如数值型为0时是假,其他为真,字符串型是为空值时是假,其他为真。
结果false
结果true
结果为false
结果为true
9. 已定义的对象的方法,和单独的函数是一样的。 不加括号是如果没定义就是假。加了括号相当于调用方法,就是根据返回值判断真假。