JavaScript数据类型
javaScript属于弱语言类型(松散型),当前数据类型是由值决定的 ;
1.数据类型的分类
- 基本数据类型
- Number :数字
- String:字符串
- Boolean:布尔
- null:空、空指针(没有指向的地址)
- undefined:未初始化(未赋值)
- 复杂数据类型(引用数据类型)
- object 对象
- Object 对象类
- Array 数组类
- …
- function 函数
- object 对象
2.数据类型的检测
- typeof 最基本的数据类型检测,一般用于检测基本数据类型,引用数据类型下对象数据类型检测全部都是object,不能进行细分
- 返回值:返回值当前数据类型
- typeof(数据);
- typeof 数据
- typeof 10 ->number
- typeof ‘12’ ->string
- typeof true ->boolean
- typeof null ->object
- typeof undefined ->undefined
- typeof {name:"haha“} ->object
- typeof [1,2,3] ->object
- typeof function sum(){} ->function
3.Number 数字
- 数字类型: 整数 小数 (8进制 16进制) 0 NaN
- NaN->(Not a Number->不是一个数字)
4.String 字符串
概念:用单引或双引包起来的就是字符串
- 方法
- length:长度
- charAt(索引值) :获取字符串中具体的某一个字符
- 在编程语言中我们计数都是从0开始进行计数
- 索引值:从0开始依次递增, 最后一项索引值 str.length-1;
5.Boolean 布尔
- true
- false
6. Object 对象类
-
组成 {键:值,键:值,键:值,键:值…}
-
创建
- 字面量 {}
- 构造函数 new Object();
-
修改 (有这个属性就是修改没有就是增加)
- 对象[‘属性名’] = 值;
- 对象.属性名 = 值; ->属性名名不能是数字
stuInfo.name = "胡金旺"; stuInfo["age"] = 10; console.log(stuInfo); //stuInfo.100 = "哈哈哈"; stuInfo['100'] = "哈哈哈";
-
增加 (有这个属性就是修改没有就是增加)
- 对象[‘属性名’] = 值;
- 对象.属性名 = 值; ->属性名名不能是数字
-
删除
- 真删除
- delete 对象.属性名;
- 假删除
- 对象.属性名 = null;
- 真删除
7.Array 数组类
数组的构成结构:数组是由索引(下标)和值组成的,并且索引从0开始依次递增,天生自带length属性表示当前数组集合的长度或数据的个数
数组的作用:存储任意数据的一个集合;
-
数组的创建
- 字面量 []
- 构造函数
-
获取具体某一项
- 数组[索引]
-
数组的length属性
- 表示当前数组集合的长度或数据的个数
8.基本数据类型和引用数据类型的本质区别
基本数据类型的变量是保存在栈内存中的,基本数据类型的值
- 直接在栈内存中存储,值与值之间是独立存在的,修改一个变量不
- 会影响其他的变量。
9.函数
- 函数的基本语法
//函数的定义
function 函数名(){
特定功能的代码段
}
//函数的调用
函数名();
10.数据类型的强制转换
1.其它数据类型转为数字
- Number(数据);
- 返回值 ->转换后对应的值
- 转化规律:字符串转为数字,要求整个字符串必须纯数字字符串,一旦含由其它字符就返回NaN,true->1,false->0 null->0 []->0
- parseInt(数据);
- 返回值->转换后对应的值
- 转化规律:一旦遇到非数字字符就停止转化,开头就是非数字字符转为NaN,不识别小数点(.)
- parseFloat(数据);
- 返回值->转换后对应的值
- 转化规律:一旦遇到非数字字符就停止转化,开头就是非数字字符转为NaN,识别小数点(.)
2.其它类型转为字符串
- String(数据);
- 返回值->返回对应的字符串
- toString(数据);
- null和undefined没有这个方法
- 返回值->返回对应的字符串
3.其它数据类型转为boolean
- 对于单个数据而言只有0 NaN null undefined ""是假 其它都为真
- 返回值:布尔值
- Boolean(数据);
11.运算符
-
算术运算符
-
-
-
- /
- %
- ++
- 表示自身加1 ,++在后表示先进行运算再自身加1,++在前表示先自身加1再进行运算
- 表示自身减1 ,–在后表示先进行运算再自身减1,–在前表示先自身减1再进行运算
-
-
赋值运算符
- =
- +=
- -=
- /=
- %=
-
比较运算符
-
规律
-
不同数据类型在进行比较的时候会尽量转为数字,符合Number的转化规律
-
字符串比较:首先是按位比较的,并且是按照ASCII值进行比较的
-
null等于undefined, 但是null和undefined 与其它类型永远不相等
-
绝对比较的时候不同数据类型一定不相等
-
返回值:布尔值
-
>
-
<
-
>=
-
<=
-
== 等于
-
!= 不等于
-
=== 绝对等于
-
!== 绝对不等余于
-
-
逻辑运算符
- ||:或 一真即即真
- &&:与(且)一假即假
- !:非 取反
-
三目运算符
- 条件?条件成立执行的代码段:条件不成立执行的代码段; 相当于最简单if…else