JavaScript的数据类型
2017-03-10 21:47
197 查看
JavaScript有5种简单数据类型(Undefined,Null,Boolean,Number,String)和一种复杂数据类型Object.只有这六种,再无其他
需要注意的是:
1.typeof是一个操作符而不是一个函数,所有可以不带括号
2.null的类型是Object,是因为Null是一个空的对象引用
实际上,Undefined也是派生自null,所以下面会返回true:
在定义一个变量,但暂时还不想对它赋值时,可以使用null,不要使用Undefined。
转换:
要将一个值转换成boolean值时,可以使用Boolean()函数。
进制:
八进制前面第一个数必须是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()将数值转换成字符串,会解析到第一个小数点后面。此方法只解析十进制,只接受一个参数
toString()方法返回字符串的一个副本
String()方法将数值转换为字符串
constructor:保留着用于创建当前对象的函数
hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(不是在原型中)是否存在,参数用字符串形式指定
isPrototypeOf(object):用于检查传入的对象是否是当前对象的原型
propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举,参数必须用字符串形式来指定
toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应
toString():返回对象的字符串表示
valueOf():返回对象的字符串,数值或布尔值表示,通过与toString()方法的返回值相同
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()方法的返回值相同
相关文章推荐
- javascript入门·简单运算和数据类型转换
- JavaScript的Primitive和Wrapper数据类型
- javaScript通用数据类型校验
- javascript数据类型转换
- JavaScript不同数据类型的转换
- JavaScript不同数据类型的转换
- 关于javascript数据类型的疑问
- 《javascript高级程序设计》学习笔记(一):javascript 数据类型的一些怪异特性
- javascript 数据类型转换
- JavaScript不同数据类型的转换
- [转贴]javaScript通用数据类型校验
- JavaScript 数据类型和值
- javascript 简单高效判断数据类型 系列函数 By shawl.qiu
- javaScript通用数据类型校验
- javascript数据类型转换
- javaScript通用数据类型校验
- javaScript通用数据类型校验
- 用javascript将数据库中的TEXT类型数据动态赋值到TEXTAREA中
- javascript 数据类型转换
- Javascript学习笔记(二)Javascript核心之数据类型与值