1 第一种情况。变量声明而未赋值, 则它的精确值为undefined,近似值为null, 但是不会等于“”(空字符串)。举例如下
document.write((tt1 == null) + "<br />");
document.write((tt1 === null) + "<br />");
document.write((tt1 == undefined) + "<br />");
document.write((tt1 === undefined) + "<br />");
document.write((tt1 == “”) + "<br />");
document.write((tt1 === “”) + "<br />");
输出结果:
true
false
true
true
false
false
2第二种情况。变量声明并且赋值为null。精确值为null(这是肯定的,haha),近似值为undefined,但是不会等于“”(空字符串)。举例如下
var tt1 = null ;
document.write((tt1 == null) + "<br />");
document.write((tt1 === null) + "<br />");
document.write((tt1 == undefined) + "<br />");
document.write((tt1 === undefined) + "<br />");
document.write((tt1 == “”) + "<br />");
document.write((tt1 === “”) + "<br />");
输出结果:
false
true
truefalse
false
3.变量声明并且赋值为“”(空字符串),结果只能是“”,不会等于undefined和null。举例如下
var tt1 = “” ;
document.write((tt1 == null) + "<br />");
document.write((tt1 === null) + "<br />");
document.write((tt1 == undefined) + "<br />");
document.write((tt1 === undefined) + "<br />");
document.write((tt1 == “”) + "<br />");
document.write((tt1 === “”) + "<br />");
输出结果:
false
false
false
false
true
true
4注意:变量未声明而且未赋值就被引用,并不会被认为是undefined,而是提示语法错误;作为对象的某个属性被引用,但是没有定义,也没有赋值,会被认为是undefined。
通过函数或者数据库查询返货的结果可能是字符串,例如data[0]的结果为"undefined",类型为string ,因此要注意判断逻辑的写法