/*
总结:
1.使用值为 undefined 的变量作判断时需要【使用typeof】 来做判断 才能保证不报错如下:
if (typeof b == 'undifined')
2.如果判断的是一个数组或对象需要 【每一级都使用typeof】来做判断 才能保证不报错 如下:
if (typeof c != 'undefined' && typeof c['b'] != 'undefined' && typeof c['b']['a'] != 'undefined')
3.javascript中字符串0的值为true,而非其他语言(如php)中为true
*/
//正确写法
alert(Boolean('0')); //true
alert(Boolean(0)); //false
alert(Boolean({})); //true
alert(Boolean('')); //false
alert(Boolean(null)); //false
alert(Boolean(undefined)); //false
//正确写法 虽然这样不报错但这样写基本没什么用
if(!undefined){
alert('111');
}
//正确写法
if (typeof b == 'undifined') {
alert('333');
}
//错误写法 会报错 ReferenceError: b is not defined 一个值为 undefined 的变是不能用做判断
alert(Boolean(b)); //
if (b == undifined) {
alert('333');
}
//判断数组-----------------------
var a = [];
alert(Boolean(a)); //true
alert(Boolean([])); //true
alert(a[1]);//undefined
alert(Boolean(a[1])); //false
//正确写法
if (typeof a != 'undefined' && typeof a[1] != 'undefined' && typeof a[1][2] != 'undefined') {
alert(22);
} else {
alert(33);
}
//错误写法 会报错 TypeError: a[1] is undefined 原因:a虽有定义 但a[1]的值为undefined 所以a[1][2]报错 会影响下面的代码执行
alert(Boolean(a[1][2]));
if (typeof a != 'undefined' && typeof a[1][2] != 'undefined') {
alert(22);
} else {
alert(33);
}
//判断对象-----------------------
//正确写法
alert(Boolean(c)); //true
alert(typeof c);//object
alert(Boolean(c['b'])); //false
alert(typeof c['b']);//undefined
alert(typeof c.b);//undefined
if (typeof c != 'undefined' && typeof c['b'] != 'undefined' && typeof c['b']['a'] != 'undefined') {
alert('1');
} else {
alert('2');
}
//错误写法 会报错 TypeError: c.b is undefined
alert(Boolean(c['b']['c'])); //会报错 TypeError: c.b is undefined
if (typeof c != 'undefined' && typeof c['b']['a'] != 'undefined') {
alert('1');
} else {
alert('2');
}
javascript 变量值为undefined时如何做判断
最新推荐文章于 2022-09-19 17:58:22 发布