浅析JavaScript中的特殊数据类型(2)

(2)声明了变量但从未赋值

var v1,obj = {};
console.log(v1); //undefined
console.log(obj. get ); //undefined
typeof v1; // "undefined"
typeof v2; // "undefined"
typeof obj. get ; // "undefine"
typeof obj ; // "object"

和NaN不同的是,undefined虽然也代表变量的一个状态,但这个状态值是确定唯一的,即当一个变量声明了但没有赋值时,它的状态就是undefined ,因此下面表达式是成立的:

var b;
b == undefined; //true

理解了undefined 以后,再理解null 就容易多了,null类型也只有一个值:null , 表示一个变量中没有包含有效数据。null在这里意为空值、空对象的意思,更确切的说,一个被赋值为null的变量没有保存有效的数值、字符串、布尔、数组或对象等,可以通过给一个变量赋值为null来清空变量中的内容。产生null的原因只有一个:即对一个变量显式的赋值为null 。

var p = null ;
console.log(p); //null
typeof p ; // "object"
typeof null ; // "object"

还是和NaN来比较,null 也是一个确定切唯一的状态值,当一个变量被赋值为null时,那么它就和null相等,因此下面表达式也是成立的:

var obj = null ;
obj == null ; //true

另外:

var  v1 = null;
var v2;
console.log(v1 + 1 ); // 1
console.log(v2 + 1 ); //NaN
var i = i +1;
var j = i+ 1;
console.log(i); // NaN
console.log(j ); //NaN
console.log(i == j ); //false

总结

以上所述是小编给大家介绍的JavaScript中的特殊数据类型,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对黑区网络网站的支持!

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/376.html