JS的基本数据类型:
- String 字符串类型。
- Number 数值类型,整数、小数、负数、NaN。
- Boolean 布尔类型 (true,false)。
- Undefined undefined (未知类型)没有定义的量。
- Null null (空类型)。
* 字符串String类型
· 特性
- 有0个或多个16位Unicode字符组成
- 单引号与双引号不能交叉使用
- 使用length属性访问字符串的长度
a. 转义序列表示一个字符
b. 无法精确返回双字节字符长度 - 字符串一旦被创建,其值将不能改变,若要改变必须销毁原有字符串
· 转义序列
|
|
· 类型转换方法
toString()
使用类型:
- number
- boolean
- string
- object
用法:
12
var num = 1;num.toString();
结果:1 //字符串1
String()
使用类型
- null
- undefined
eval()
计算字符串表达式的值并以数值的形式返回
* undefined 未定义
· undefined的几种情况
- 使用var声明变量但未初始化
- 区分空对象指针与尚未定义的变量
- 对未初始化的变量及未声明的变量使用typeof运算符均会返回undefined
* null 空
逻辑上null表示一个空对象的指针
使用typeof检测室会返回object
· undefined与null的关系
· undefined派生于null因此在使用”==”进行比较二者时,结果是true。
· 没有必要将变量值显示声明undefined
· 声明空对象时应将其值赋值为null
* boolean
true
为真,flase
为假
true
不一定=1,false
不一定=0。
· 使用Boolean()进行转换
转换为true
- 任何非空字符串
- 任何非零数值
- 任何非空对象
转换为false
- 空字符串
- 0及NaN
- null及undefined
* 数值number类型
· 进制
十进制
平时见到的数字都是十进制如
27,4,65,1,。。。
八进制
八进制前导 0
,有效序列0~7
。若超出有效范围,前导位0被忽略,后面的数当成十进制
,如:010,转换成十进制的数是8;028则会被当成十进制的数28。
十六进制
十六进制前导位0x
,有效序列0~9,A~F
,A
代表10,以此类推F
是15。0x10,转换成十进制的数是16。
· 浮点数
|
|
科学计数法
· 小数点后带有6个0的浮点数
· 以e为底*10的+-N次幂
最高精度
|
|
缺陷
· 存在舍入误差
· 无法测试特定浮点数值
· 数值范围
###最小值1Number.MIN_VALUE
最大值
|
|
超出范围
- 正无穷
· Infinity
· Number.POSITIVE_INFINITY - 负无穷
· -Infinity
· Number.NEVATIVE_INFINITY - 缺陷
无法参与下一次计算
- 检测方法:
isFinite()
· 超出范围 false
· 合法范围 true
· NaN非数
含义
|
|
非数值
特性
- 任何涉及NaN的操作都将返回NaN
- NaN与任何值都不相等,包括其自身
检测
方法:isNaN()
可以转换为数值的返回false,不能转换成数值的返回true.
· 数值转换
Number()方法
Boolean
|
|
字符串转换成数值
|
|
parseInt()方法
特性
- 忽略前置空格
- 直接找到第一个非空字符
· 不是数字字符或负号 //NaN.
· 数字字符:解析所有后续字符,遇到非数字字符结束.
· 小数点不是有效数字.
参数
|
|
|
|
parseFloat()方法
- 从第一个字符开始解析
- 遇到无效浮点格式后结束
- 只有第一个小数点有效
- 忽略前导0
- 十六进制数始终为0
- 没有小数点或小数点后全为0(转换成整数)
* object 对象类型
· 定义
一组数据或功能的集合
· 声明
var 0 = new Object();
· 属性与方法
|
|