本文主要是介绍javascript变量undefined和null的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我们经常会这样使用,对一个后台传过来的变量进行判断是否为空再取其值。
比如代码写成这样:if(variable) {
.... // 此处省略逻辑代码
}
问题来了:
1.variable变量是否存在,如果不存在(不存在也就是说连变量都没有声明)javascript是会返回undefined这个类型。
2.variable变量已声明存在,但是不知道它有没有定义类型。如果声明没定义类型,则返回undefined。
如
var a = 1 // 表示a是number类型
但仅仅是
var a; // 只是声明则a返回的也是undefined类型,
因为它并不知道a到底是number类型或是string类型再或着是boolean类型等。
3.variable变量已存在,并且它有类型了。比如var a = []表示a是一个object对象类型,如果a没有值,则返回的是null值。
综上三点: 如果一个变量不会返回上面两种undefined结果和null结果,则说明有并返回了具体的值。——当然如果熟悉java的人
都知道,在java中一个变量是否存在或空只需与null判断就完事了。
具体判断一个变量是否存在,安全写法应该这样:
// 先判断变量是否存在
if ( (typeof a) == 'undefined') { // 用关键字typeof判断,不存在则是返回undefined字符串
// 判断已存在变量的值是否为空
if ( a != undefined && a != null) { // 注意此处undefined是js中的一种类型,不是字符串
.....
}
}
这篇关于javascript变量undefined和null的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!