JavaScript的数据类型

时间:2022-07-06 15:04:08

JavaScript有5种简单数据类型(Undefined,Null,Boolean,Number,String)和一种复杂数据类型Object.只有这六种,再无其他

2.1.typeof操作符

可以使用typeof来检查所给的数据是什么类型。

typeof 1234//number
typeof "hello"//string
typeof (true); //boolean
typeof (message); //undefined
typeof (null); //Object

需要注意的是:
1.typeof是一个操作符而不是一个函数,所有可以不带括号
2.null的类型是Object,是因为Null是一个空的对象引用

2.2.Undefined类型

在使用var声明变量,但未对其初始化时,这个变量的值就是undefined,表示未被初始化的值

var message;
typeof (message); //undefined

2.3.Null类型

Null值表示一个空对象指针,所以使用typeof 检测时会返回object。
实际上,Undefined也是派生自null,所以下面会返回true:

alert(null == undefined); //true

在定义一个变量,但暂时还不想对它赋值时,可以使用null,不要使用Undefined。

2.4.Boolean类型

Boolean类型有两个值,true和false。注意这两个值是区分大小写的。如下:

typeof true; //"boolean"

typeof True; //"undefined"

转换:
要将一个值转换成boolean值时,可以使用Boolean()函数。

2.5.Number类型

数值类型分为整型,浮点型。进制也会不同
进制:
八进制前面第一个数必须是0
十六进制前面必须是0x
数值范围:
数值的大小是根据内存来的,如果超过了内存的限制,最大数会被转换为:Infinity,负数会被转换为-Infinity。
可以使用isFinite()函数检测数值是不是在(-Infinity,Infinity)之间,如果位于最大数和最小数之间就会返回true.
NaN:
NaN: Not a Number,这个数值表示一个本来要返回数值的操作却为返回数值的情况,这样就不会抛出错误了。

  • 任何涉及NaN的操作都会返回NaN
  • NaN与任何值都不相等,包括NaN本身

isNaN()函数,会检测这个参数是不是“不是数值”

数值转换:
数值转换有三个函数,Number(),parseInt(),parseFloat()。
由于Number()函数在转换字符串时比较复杂且不够合理,因此在处理数值时使用parseInt(),parseFloat()这两个函数
parseInt()接受两个参数,第一个参数是要转换的参数,第二个是要转换的进制。该转换有一个特点,会把小数点后面的数字省略,只认整数部分。
parseFloat()将数值转换成字符串,会解析到第一个小数点后面。此方法只解析十进制,只接受一个参数

parseInt("070",8); //56
parseFloat("12.34.2"); //12.34

2.6.String类型

  • string类型可以使用length属性来获取字符串长度
  • toString()方法返回字符串的一个副本
  • String()方法将数值转换为字符串

2.7.Object类型

Object每个实例都具有以下方法和属性:

  • constructor:保留着用于创建当前对象的函数
  • hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(不是在原型中)是否存在,参数用字符串形式指定
  • isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型
  • propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举,参数必须用字符串形式来指定
  • toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应
  • toString():返回对象的字符串表示
  • valueOf():返回对象的字符串,数值或布尔值表示,通过与toString()方法的返回值相同