一、前言
最近在编写项目过程中,发现自己对if
语句判断的时候,在面对一些0
、字符串为空的情况下,自己犹豫了那么几秒
甚至有时候还可怕的写下了丑陋的代码
if(str !== ''){
// do some things
}
今天,特意写了这篇文章记录下,让自己长长记性,同时后面有空去翻翻红宝书
二、测试
考虑的情况有以下:
- 字符串为空
- 数值为零
- undefined
- null
- 对象不存在的属性
- NaN
字符串为空
if ('') {
console.log('访问空字符串,能通过')
}
// 没输出
数值为零
if (0) {
console.log('访问0,能通过')
}
// 没输出
undefined
if (undefined) {
console.log('访问undefined,能通过')
}
// 没输出
if(!undefined){
console.log('非undefined,能通过')
}
// 非undefined,能通过
null
if (null) {
console.log('null,能通过')
}
// 没输出
if(!null){
console.log('非null,能通过')
}
// 非null,能通过
对象不存在的属性
let obj = {
foo: "foo",
num: 0
}
if (obj.bar) {
console.log('访问对象不存在属性时候,能通过')
}
// 没输出
if (obj.foo) {
console.log('访问对象已存在属性时候,能通过')
}
// 访问对象已存在属性时候,能通过
NaN
if(NaN){
console.log('访问NaN,能通过')
}
// 没输出
if(!NaN){
console.log('不为NaN,能通过')
}
// 不为NaN,能通过
常见问题FAQ
- 免费下载或者VIP会员专享资源能否直接商用?
- 本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
- 提示下载完但解压或打开不了?
- 找不到素材资源介绍文章里的示例图片?
- 模板不会安装或需要功能定制以及二次开发?
发表评论
还没有评论,快来抢沙发吧!