JavaScript 数据类型
五种基本数据类型:
Number 数值类型
(整数和浮点数 (小数))(八进制, 十六进制) 八进制: 0-7 例如: 034 十六进制: 0-9 A-F(10-15) 例如: 0x4F3A 十进制: 0-9 例如: 45
String 字符串类型
单引号, 双引号转义字符:\": 转义双引号 \': 转义单引号 $: 转义 $ 符号 \ n: 换行回车 在字符串换行的时候 源代码可以看到, console 位置可以看到 < br/> 在标签中换行 页面中可以看到 \ r: 回车 一般搭配 \ n\t:tab 键 制表符
Boolean 布尔类型
true(真) false(假)当进行逻辑判断时, 一般会得到 Boolean 值, 同样 Boolean 值也可以用作判断条件.
Undefined 未定义类型
获取 DOM 元素的时候 报错 没有正确的获取到 DOM 元素发生在事件前面的元素 box.onclick =function(){}; 在使用 var 声明变量但未对其加以初始化时, 这个变量的值就是 undefined
Null 类型(对象类型)
空字符串 "" 当进行逻辑判断时, 一般会得到 Boolean 值, 同样 Boolean 值也可以用作判断条件.
1 种复杂 (引用) 类型
Object 对象类型
function 函数类型
Array 数组类型
Null 类型和 Undefind 类型以及空字符串之间的区别
null 表示 "没有对象", 即该处不应该有值.
undefined 表示 "缺少值", 就是此处应该有一个值, 但是还没有定义.
空字符串表示有内存中的一个区域, 但是区域中只有一个空字符的位置
因此, 可以把 undefined 看作是空的变量, 而 null 看作是空的对象.
Object 类型
Windows DOM 元素的老大 窗体对象
构造函数创建的对象 new Object(原型)
JSON 形式的对象 JSON(轻量级的数据交换格式)客户端和服务端之间进行交互的时候例如: obj = {"name":"ujiuye"}
Array 类型
Array 数组类型: 存储数据的容器, 可以存储任意类型 (基本类型 5 个和复杂(引用) 类型 1 个)的数据, 可以存储任意多个(无上限).
Function 类型
函数 function: 存储一段代码块, 在需要的时候调用
函数声明: function 函数名(){ }
函数调用: 函数名()
数据类型之间的转换
强制转换为 Number 类型
1,Number(要转换的值):
1只能转换 boolean, 纯数字字符串, 空字符
2如果数字字符串以 0 开头或者数字前面很多 0, 则自动忽略
3只要字符串中包含字母或者字母开头都无法转换
4空字符被转换成 0
5八进制数字转换时
6十六进制数字转换时, 仍然按照十六进制转换后结果输出
2,parseInt(要转换的值):
从左往右进行转换, 遇到不能转换的字符或字符的结尾结束转换. 转换成整型, 舍弃小数部分, 与小数点后是否大于 5 无关.
3,parseFloat(要转换的值):
保留小数部分
4,isNaN():
判断值是否是数字, 返回布尔值, 不是数字: false, 是: true
强制转换为 String 类型
- 1,String:
- String(转换的值)
- 2,toString:
转换的值. toString()
数组也可以转换成字符串
3,num.toString(number):
可以将数值, 转换成对应进制的数字字符串
可选. 规定表示数字的基数
若省略该参数, 则使用基数 10.
但是要注意, 如果该参数是 10 以外的其他值
则 ECMAScript 标准允许实现返回任意值.
2 - 数字以二进制值显示
8 - 数字以八进制值显示
16 - 数字以十六进制值显示
隐式转换
我们进行比较操作或者加减乘除四则运算操作时, 会触发 JavaScript 的隐式类型转换机制; 其中字符串和其他数据类型进行加法运算时,'+'将变成拼接符, 把其他数据类型转换成字符串.
注:
1数字和数字字符串之间比较, 会自动将字符串 String 转换成 Number
2数字字符串可以做递增 / 递减功能
数字字符串和数字字符串之间比较, 比较的是 ASCII 编码, 且是一个字符一个字符比较
来源: http://www.jianshu.com/p/7f5c8abba113