if() ,括号中可以是任何表达式,当然这个表达式的结果不一定是布尔值,ECMAScript 会自动调用Boolean()函数将这个表达式结果转换为布尔值。
Boolean()函数对各种数据类型的转换结果为:
| 数据类型 | 转换为true的值 | 转换为false的值 |
| Undefined | n/a | undefined |
| Object | 任何对象,包括{} | null |
| Number | 任何非零的数字 | 0和NaN |
| String | 非空字符串 | ‘’ |
| Boolean | true | false |
特别需要注意的是:if表达式后面的是一个对象时,即使这个对象是{},没有属性,返回值也是true。同理,[],也是一样
总结:
alert(Boolean(null));-->false;
alert(Boolean(undefined));-->false;
alert(Boolean(NaN));-->false;
alert(Boolean([]));-->true;
alert(Boolean({}));-->true;
最后
以上就是认真朋友最近收集整理的关于js中 if 表达式为undefined null {}NaN 时 返回 什么值的全部内容,更多相关js中内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复