js 判断是否为空的代码如下:
// var a = ""
// var a = " "
// var a = null
// var a = undefined
// var a = []
// var a = {}
// var a = NaN
if(a === undefined) { // 只能用 === 运算来测试某个值是否是未定义的
console.log("为undefined")
}
if(a == null) { // 等同于 a === undefined || a === null
console.log("为null")
}
// String
if(a == "" || a == null || a == undefined){ // "",null,undefined
console.log("为空")
}
if(!a){ // "",null,undefined,NaN
console.log("为空")
}
if(!$.trim(a)){ // "",null,undefined
console.log("为空")
}
// Array
if(a.length == 0){ // "",[]
console.log("为空")
}
if(!a.length){ // "",[]
console.log("为空")
}
// Object {}
if($.isEmptyObject(a)){ // 普通对象使用 for...in 判断,有 key 即为 false
console.log("为空")
}
JavaScript程序是由若干语句组成的,语句是编写程序的指令。JavaScript提供了完整的基本编程语句,它们是:
赋值语句、switch选择语句、while循环语句、for循环语句、for each循环语句、do...while循环语句、break循环中止语句、continue循环中断语句、with语句、try…catch语句、if语句(if..else,if…else if…)。
下面就是有关判断为空的简写方法。
代码如下
if (variable1 !== null || variable1 !== undefined || variable1 !== '') {
var variable2 = variable1
}
上面的意思是说如果variable1不是一个空对象,或者未定义,或者不等于空字符串,那么声明一个variable2变量,将variable1赋给variable2。也就是说如果variable1存在那么就将variable1的值赋给variable2,若不存在则为空字符串。如下面的简写代码。
简写代码:
代码如下
var variable2 = variable1 || ''
以下是不正确的方法:
代码如下
var exp = null
if (exp == null)
{
alert("is null")
}
exp 为 undefined 时,也会得到与 null 相同的结果,虽然 null 和 undefined 不一样。注意:要同时判断 null 和 undefined 时可使用本法。
代码如下
var exp = null
if (!exp)
{
alert("is null")
}
如果 exp 为 undefined,或数字零,或 false,也会得到与 null 相同的结果,虽然 null 和二者不一样。注意:要同时判断 null、undefined、数字零、false 时可使用本法。
代码如下
var exp = null
if (typeof exp == "null")
{
alert("is null")
}
为了向下兼容,exp 为 null 时,typeof null 总返回 object,所以不能这样判断。
代码如下
var exp = null
if (isNull(exp))
{
alert("is null")
}
判断字符串是否为空
s 匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ fnrtv]。 很多情况下,都是用length来直接判断字符串是否为空,如下:
代码如下
var strings = ''
if (string.length == 0)
{
alert('不能为空')
}
但如果用户输入的是空格,制表符,换页符呢?这样的话,也是不为空的,但是这样的数据就不是我们想要的吧。
其实可以用正则表达式来把这些“空”的符号去掉来判断的
代码如下
var strings = ' '
if (strings.replace(/(^s*)|(s*$)/g, "").length ==0)
{
alert('不能为空')
}