感谢李炎恢老师的javascript视频教程,本人一直想系统学习javascript,但总是学习一半就放弃了,究其原因,就是因为没有系统和教程的难度过大,所以决定开始从基础入门,一边学习,一边写代码。彻底征服这座大山。
一:typeof操作符
typeof操作符是用来检测变量的数据类型。对于值或者变量使用typeof操作符会返回如下字符串。
字符串 | 返回值 |
---|---|
undefined | 未定义 |
boolean | 布尔值 |
string | 字符串 |
number | 数值 |
object | 对象或null |
function | 函数 |
var box;
alert(typeof box)
box是Undefined类型,值是undefined,类型返回的字符串是undefined。
空的对象,表示创建了,里面没有内容;
空对象,表示没有创建,就是null
typeof操作符可是操作变量,也可以操作字面量。虽然也可以这样使用typeof(box),但typeof是操作符而非内置函数。ps:函数在ECMAScript中是对象,不是一种数据类型,所以,使用typeof来区分function和object是非常有必要的。
Undefined类型
Undefined类型只有一个值,即特殊的undefined。在使用var声明变量,但却没有对其初始化时,这个变量的值就是undefined。(以后必须声明一个变量就必须初始化,以避免这种问题)
Null类型
var box=null
你还没有来得及创建对象,先声明一个对象的变量放在那边,默认初始化为null。
alert(undefined == null); true 他们都是空的,所以相等
alert(undefined === null) false 数据类型不相等,第一个是Undefined,返回的值是undefined,第二个是Null,返回的值是object
也等同于alert(typeof undefined == typeof null) false