•null:空、无。表示不存在,当为对象的属性赋值为null,表示删除该属性
•undefined:未定义。当声明变量却没有赋值时会显示该值。可以为变量赋值为undefined
•number:数值。最原始的数据类型,表达式计算的载体
•string:字符串。最抽象的数据类型,信息传播的载体
•boolean:布尔值。最机械的数据类型,逻辑运算的载体
•object:对象。面向对象的基础
#当弹出一个变量时:
var
aaalert(aa)
//变量定义,弹出undefined
alert(aa)
//变量未定义,undefined
,
未定义的变量也是undefined
#当判断一个变量是否存在时:
var
strif(
str
==
undefined
)
//变量定义,可以这样判断
if(
str
==
undefined
)
//变量未定义,报错ReferenceError:
str
is
not
defined
所以,当判断一个变量是否不存在时,用
if(
typeof
str
==
undefined
)
typeof:
alert(typeof
1)
//
返回字符串"number"
alert(typeof
"1")
//
返回字符串"string"
alert(typeof
true)
//
返回字符串"boolean"
alert(typeof
{})
//
返回字符串"object"
alert(typeof
[])
//
返回字符串"object
"
alert(typeof
function(){})
//
返回字符串"function"
alert(typeof
null)
//
返回字符串"object"
alert(typeof
undefined)
//
返回字符串"undefined"
你会发现:JavaScript解释器认为null是属于object数据类型的一种特殊形式,而function(){}是function类型,也就是说函数也是一种基本数据类型,而不是对象的一种特殊形式。
实际上,在JavaScript中,函数是一个极容易引起误解或引发歧义的数据类型,它可以是独立的函数类型,又可以作为对象的方法,也可以被称为类或构造器,还可以作为函数对象而存在等。
所以,在《JavaScript权威指南》中把function被看做是object基本数据类型的一种特殊对象,另外《悟透JavaScript》和《JavaScript高级程序设计》也把函数视为对象,而不是一种基本数据类型。但是在《JavaScript语言精髓与编程实践》中却把function视为一种基本数据类型,而把null视为object类型的一种特殊形式。至于谁对谁错,看来只有根据具体情况而定了。
以上这篇浅谈js基本数据类型和typeof就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
js中有六种数据类型,包括五种基本数据类型(Number,String,Boolean,Undefined,Null),和一种复杂数据类型(Object)。
1、Number类型
Number类型包含整数和浮点数(浮点数数值必须包含一个小数点,且小数点后面至少有一位数字)两种值。
2、String类型
在JS中字符串需要使用引号引起来。使用双引号或单引号都行,但是不要混着用。引号不能嵌套,双引号不能放双引号,单引号不能放单引号。
3、Boolean类型
该类型只有两个值,true和false。
4、Undefined类型
只有一个值,即undefined值。使用var声明了变量,但未给变量初始化值,那么这个变量的值就是undefined。
5、Null类型
null类型被看做空对象指针,null类型也是空的对象引用。
6、Object类型
js中对象是一组属性与方法的集合。这里就要说到引用类型了,引用类型是一种数据结构,用于将数据和功能组织在一起。引用类型有时候也被称为对象定义,因为它们描述的是一类对象所具有的属性和方法。