Day02笔记
一、数据类型转换
1、Number
语法:
var a = "100";
// Number函数。
a = Number(a);
// 当数值型字符串碰到number,中间用算术运算符连接。
a = '123';
a +-*/ number;
// parseInt函数;
a = parseInt(a);
/* 1、一个字符一个字符去解析,123abc => 123;
2、取整数。*/
//parseFloat函数:
a = parseFloat(a);
/* 1、一个字符一个字符去解析,123abc => 123;
2、小数保留。*/
//toFixed函数:
a = a.toFixed(n);
//保留n位小数。
转换类型:
数值型字符串 => 数值;
true => 1;
false => 0;
null => 0;
undefined => NaN;
其它 => NaN。
2、string
语法:
var a = 'hello';
a.len
//String函数:
a = String(a);
//String可以将任何类型的数据转成字符串。
//toString函数:
a = a.toString();
//undefined与null数据类型无法转换,浏览器控制台会报错。
//+连接符:
var a = '10'
var b = a + 15;
//此时b数据类型为string,显示内容为1015。
//只要 + 任意一边是字符串,就会进行字符串拼接。
//只有 + 两边都是数字的时候,才会进行数学运算。
3、Boolean
语法:
var a = 15;
//Boolean函数:
a = Boolean(a);
/* 1、' ' 和 0 和 NaN 和 undefined 和 null是false;
2、其余全是true。*/
// isNaN函数:
isNaN(变量)
/* 通过判断变量是不是NaN数据类型,来转换true和false。*/
二、算术运算符
运算结果:number
-
+
- 只有符号两边都是数字的时候才会进行加法运算
- 只要符号任意一边是字符串类型,就会进行字符串拼接
-
-
-
会执行减法运算
-
会自动把两边都转换成数字进行运算
-
-
*
- 会执行乘法运算
- 会自动把两边都转换成数字进行运算
-
/
- 会执行除法运算
- 会自动把两边都转换成数字进行运算
-
%
- 会执行取余数运算
- 会自动把两边都转换成数字进行运算
三、赋值运算符
运算结果:number
-
=
- 就是把
=
右边的赋值给等号左边的变量名 var num = 100
- 就是把 100 赋值给 num 变量
- 那么 num 变量的值就是 100
- 就是把
-
+=
var a = 10; a += 10; console.log(a); //=> 20
a += 10
等价于a = a + 10
-
-=
var a = 10; a -= 10; console.log(a); //=> 0
a -= 10
等价于a = a - 10
-
*=
var a = 10; a *= 10; console.log(a); //=> 100
a *= 10
等价于a = a * 10
-
/+
var a = 10; a /= 10; console.log(a); //=> 1
a /= 10
等价于a = a / 10
-
%=
var a = 10; a %= 10; console.log(a); //=> 0
a %= 10
等价于a = a % 10
四、比较运算符
运算结果:boolean
==
- 比较符号两边的值是否相等,不管数据类型
1 == '1'
- 两个的值是一样的,所以得到 true
===
- 比较符号两边的值和数据类型是否都相等(恒等于/绝对等于)
1 === '1'
- 两个值虽然一样,但是因为数据类型不一样,所以得到 false
!=
- 比较符号两边的值是否不等
1 != '1'
- 因为两边的值是相等的,所以比较他们不等的时候得到 false
!==
- 比较符号两边的数据类型和值是否不等
1 !== '1'
- 因为两边的数据类型确实不一样,所以得到 true
>=
- 比较左边的值是否 大于或等于 右边的值
1 >= 1
true1 >= 0
true1 >= 2
false
<=
- 比较左边的值是否 小于或等于 右边的值
1 <= 2
true1 <= 1
true1 <= 0
false
>
- 比较左边的值是否 大于 右边的值
1 > 0
true1 > 1
false1 > 2
false
<
- 比较左边的值是否 小于 右边的值
1 < 2
true1 < 1
false1 < 0
false
五、逻辑运算符
运算结果:boolean
&&
- 进行 且 的运算
- 符号左边必须为 true 并且右边也是 true,才会返回 true
- 只要有一边不是 true,那么就会返回 false
- 当左边为false,右边不进行运算,直接返回false
true && true
truetrue && false
falsefalse && true
falsefalse && false
false
||
- 进行 或 的运算
- 符号的左边为 true 或者右边为 true,都会返回 true
- 只有两边都是 false 的时候才会返回 false
true || true
truetrue || false
truefalse || true
truefalse || false
false
!
- 进行 取反 运算
- 本身是 true 的,会变成 false
- 本身是 false 的,会变成 true
!true
false!false
true
六、自增自减运算符(一元运算符)
运算结果:number
-
++
-
进行自增运算
-
分成两种,前置++ 和 后置++
-
前置++,会先把值自动 +1,再打印/输出/赋值/比较
var a = 10; console.log(++a); // 会返回 11,并且把 a 的值变成 11
-
后置++,会先把值打印/输出/赋值/比较,再自身+1
var a = 10; console.log(a++); // 会返回 10,然后把 a 的值变成 11
-
-
--
- 进行自减运算
- 分成两种,前置– 和 后置–
- 和
++
运算符道理一样
七、条件运算符-三目运算符(三元运算)
语法:
//条件表达式 ? 值一 : 值二 ;
var age = 18;
age >= 18 ? alert('已经成年') : alert('没有成年');
//true => 值一 ; false => 值二。
//相当于if else分支语句的缩写。
八、if分支语句
语法:
if (条件表达式){
语句块;(语句块可以是很多条)
}
//当条件表达式为 true 时执行语句块;当条件表达式为 false 时不执行语句块。
//语句块只有一条时,可以省略花括号,语句块加封号。
九、if else 分支语句
语法:
if (条件表达式){}
语句块1;
}else{
语句块2;
}
//当条件表达式为 true 时执行语句块1;当条件表达式为 false 时执行语句块2。
十、if else if 分支语句
语法:
if (条件表达式){
语句块1;
//else if可以是多条。
}else if(条件表达式2){
语句块2;
}else{
语句块3;
}
/* 1、条件表达式1 => true,执行语句块1;
2、条件表达式1 => false,条件表达式2 => true,执行语句块2;
3、条件表达式1 => false,条件表达式2 => false,执行语句块3。*/
//只有一条会被执行,从头开始依次判断条件,一旦有一个条件为true了,后面的就不在判断了。
十一、switch-case条件分支语句
语法:
switch (要判断的变量){
//case 只能跟常量,固定值。
case (常量1):
语句块1;
//break打断,结束分支。
break
case (常量2):
语句块2;
break
default:
语句块3;
}
//当变量等于一个固定值时使用,当这个值与case的值一样时,执行该case的语句块。
//当没有与case的常量一样时,将执行default的语句块。