数据类型
1.为什么需要数据类型:在计算机中,不同的数据所需占用的存储空间是不同的,为了便于把数据分成所需内存大小不同的数据,充分利用存储空间,于是定义了不同的数据类型。
2.变量的数据类型:变量是用来存储值的所在处它们有名字和数据类型。变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。JavaScript是一种弱类型或者说动态语言,这意味着不用提前声明变量的类型,在程序运行过程中,类型会被自动确认。在代码运行时,变量数据类型是由JS引擎根据=右边变量值的数据类型来判断的。
3.数据类型的分类
- 简单数据类型
- 复杂数据类型
简单数据类型:
简单数据类型 | 说明 | 默认值 |
Number | 数字型,包含整型值和浮点型值 | 0 |
Boolean | 布尔值类型,如true、false | false |
String | 字符串类型 | " " |
Undefined | var a;声明变量a但没有给值 | undefined |
Null | var a=null,声明变量a为空值 | null |
1.1数字型进制:在JS中八进制前面加0,十六进制前面加0x
数字型最大值:Number.MAX_VALUE
数字型最小值:Number.MIN_VALUE
数字型三个特殊值:infinity,代表无穷大,大于任何数;
-infinity,代表无穷小;
NaN,not a number,代表一个非数值
isNaN()来判断非数字,并且返回一个值,如果是数字返回是false,如果不是数字返回的是true。
1.2字符串需要加引号(JS可以用单引号嵌套双引号,或者用双引号嵌套单引号)
字符串转义符
转义符 | 解释说明 |
\n | 换行符,n是newline的意思 |
\\ | 斜杠\ |
\' | '单引号 |
\" | 双引号 |
\t | tab缩进 |
\b | 空格,b是blank的意思 |
检测获取字符串的长度:
console.log(str.length);
字符串的拼接:只要有字符串+其他类型=拼接之后的新字符串
console.log('你好'+'呀!');
+号口诀:数值相加,字符相连
变量和字符串可以拼接。
1.3undefined和数字相加最后结果是NAN
1.4null和数字相加最后结果是数字
获取变量数据类型
typeof可用来检测变量的数据类型
字面量:是在源代码中的一个固定值的表示法,通俗来说就是字面量表示如何表达这个值。
数据类型的转换
- 转换为字符串型
- 转换为数字型
- 转换为布尔型
转为字符转型
方式 | 说明 | 案例 |
toString() | 转成字符串 | var num=1;alert(num.toString()); |
String强制转换 | 转成字符串 | var num=1;alert(String(num)); |
加号拼接字符串 | 和字符串拼接的结果都是字符串 | var num=1;alert(num+"我是字符串"); |
转换为数字型
方式 | 说明 | 案例 |
parseInt(string)函数 | 将string类型转成整数值类型 | parseInt('56') |
parseFloat(string)函数 | 将string类型转成浮点数值类型 | parseFloat('56.54') |
Number()强制转换函数 | 将string类型转成数值类型 | Number('12') |
js隐式转换(- * /) | 利用算术运算隐式转换为数值型 | '12'-0 |
parseInt和parseFloat注意大小写。
转换为布尔型
方式 | 说明 | 案例 |
Boolean()函数 | 其他类型转成布尔型 | Boolean('true') |
- 代表空、否定的值会被转换为false
- 其余值都会被转换为true
标识符、关键字、保留字
运算符
1.算术运算符(+、-、*、/)
2.递增递减运算符(++、--):
- 前置递增:先加1
- 后置递增:先返回原值再加1
3.比较运算符(关系运算符):是两个数据进行比较时所使用的运算符,比较运算后,会返回一个布尔值作为比较运算的结果。
===全等,判断两边的值和数据类型是否完全相等。
4.逻辑运算符(&&/||/!)
短路运算:当有多个表达式(值)时,左边的表达式值可以确定结果时,就不在继续运算右边的表达式的值。
5.赋值运算符(=)
6.三元运算符(三目运算符)
表达式1?表达式2:表达式3
当我的表达式1成立时 执行表达式2 否则执行表达式3
运算符优先级
同一优先级的运算符,运算次序由结合方向所决定。
简单记就是:! > 算术运算符 > 关系运算符 > && > || > 赋值运算符
流程控制语句:
if语句
if(条件){
函数体
}
if else语句
if(条件){
函数体1
}else{
函数体2
}
if.....else if......else语句
if(条件1){
}else if(条件2){
}else if(条件n){
}else{
}
switch语句:多分支语句
switch(变量){
case a:
.....
break;
case b:
.....
break;
case c:
...
break;
........
default:
....
break;
}
循环结构:
1、while循环:先判断条件 当条件成立 再执行
while(循环成立条件){
....
}
2、do...while循环:不论条件成不成立 先执行一遍 再判断
do{
.....
}while(循环成立条件)
3、for循环
4、for in循环
continue:
跳过当前循环,直接进入循环的下一个步骤
break:
结束循环