上篇文章给童靴们讲解了typeof操作符的用法,从这篇开始我们分六篇详细讲解js数据类型 。

Undefined 类型

Undefined只有一个特殊的值,就是undefined。在使用var变量声明变量但是并没有给其初始化时,它的值就是undefined。

var message;

console.log(message==undefined); //true

上面的栗子只声明了一个变量message,没有给它初始化。我们在控制台输出变量message与字面量undefined比较后的结果是相等的。这个栗子与下面的栗子等价的:

var message=undefined;

console.log(message==undefined); //true

上面的栗子给message初始化一个值undefined,结果也是一样的。不过我们不需要如此麻烦,一个没有初始化的值默认会取undefined值。

童靴们还要注意的是,没有初始化的变量和尚未定义的变量还是不一样的。我们举个栗子区分一下:

//var age;

console.log(age) //产生错误

var name;

console.log(name); //undefined

上面栗子中第一段代码,因为age是注释的,并没有声明变量age,所以在控制台中输出会导致一个错误:

控制台报错

第二段代码声明了一个变量name,所以在控制台中会显示name的值undefined:

javascript基本数据类型有几种(JavaScript数据类型一)(1)

对尚未声明的变量,我们只能执行一项操作就是typeof操作符检测其类型。另大家都疑惑的是,未初始化的变量执行typeof操作符返回的值是undefined,而没有声明的变量执行typeof操作符也会返回undefined。

var name;

//var age

console.log(typeof name) //undefined

console.log(typeof age) //undefined

这种结果可能童靴们会疑惑,其实还是有一定逻辑上的合理性的。虽然它们在技术角度看有本质的区别,但是这两种变量都是不可能执行真正的操作。

爱学习的孩子运气不会差哦~

关注小白前端,持续收到文章推送!

javascript基本数据类型有几种(JavaScript数据类型一)(2)

,