JavaScriptday2
数据类型转换
数据类型之间的转换,如数字转换为字符串,字符串转为布尔类型。
其他数据类型转为数值
-
Number(变量)
- 可以把一个变量强制转换为数值类型
- 可以转换小数,会保留小数
- 遇到不可转换的都会返回
NaN
-
parseInt(变量)
- 从第一位开始,是数字就转换,一直到不是数字的内容
- 开头不是数字会直接返回
NaN
- 不认识小数点 只能保留整数
-
parseFloat(变量)
-
从第一位开始检查,是数字就转换,直到一个不是数字的内容
-
开头就不是数字,那么直接返回
NaN
-
认识一次小数点
-
其他数据类型转成字符串
变量.toString()
- 不是所有的数据类型都可以用 比如undefined 和null
string(变量)
- 所有数据类型都可以转换
其他数据类型转成布尔类型
Boolean(变量)
- 在 js 中,只有
''
、0
、null
、undefined
、NaN
,这些是false
- 其他皆为true
- 在 js 中,只有
运算符
在代码里进行运算的符号
数学运算符
-
+
只有符号两边都是数字的时候才会进行加法运算
只要符号任意一边是字符串类型,就会进行字符串拼接
-
-
会执行减法运算
会自动把两边都转换成数字进行运算
-
*
会执行乘法运算
会自动把两边都转换成数字进行运算
-
/
会执行除法运算
会自动把两边都转换成数字进行运算
-
%
会执行取余运算
会自动把两边都转换成数字进行运算
赋值运算符
-
=
就是把
=
右边的赋值给等号左边的变量名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
比较运算符
-
==
- 比较符号两边的值是否相等,不管数据类型 >
-
``===`
-
比较两边的值和类型是否相等
1=‘1’两个值虽然一样但是类型不一样所以是false
-
-
!=
- 比较符号两边的值是否不相等
-
!==
- 比较符号两边的数据类型和值是否不等 >
-
>=
- 比较左边的值是否 大于或等于 右边的值 >
-
<=
- 比较左边的值是否 小于或等于 右边的值
-
>
- 比较左边的值是否 大于 右边的值
-
<
- 比较左边的值是否 小于 右边的值
逻辑运算符
-
&&
-
进行 且 的运算 >
符号左边必须为
true
并且右边也是true
,才会返回true
只要有一边不是
true
,那么就会返回false
true && true
结果是true
true && false
结果是false
false && true
结果是false
false && false
结果是false
-
-
||
-
进行 或 的运算 >
符号的左边为
true
或者右边为true
,都会返回true
只有两边都是
false
的时候才会返回false
true || true
结果是true
true || false
结果是true
false || true
结果是true
false || false
结果是false
-
-
!
-
进行 取反 运算 >
本身是
true
的,会变成false
本身是
false
的,会变成true
!true
结果是false
!false
结果是true
-
自增自减运算符
-
++
-
进行自增运算
-
分成两种,前置++ 和 后置++
-
前置++,会先把值自动 +1,在返回
var a = 10; console.log(++a); // 会返回 11,并且把 a 的值变成 11
-
后置++,会先把值返回,在自动+1
var a = 10; console.log(a++); // 会返回 10,然后把 a 的值变成 11
-
-
--
- 进行自减运算
- 分成两种,前置– 和 后置–
- 和
++
运算符道理一样
分支结构
if语句(重点)
-
通过一个 if 语句来决定代码是否执行
-
语法:if(判断条件){条件成立后执行的代码}
// 条件为 true 的时候执行 {} 里面的代码 if (true) { alert('因为条件是 true,我会执行') } // 条件为 false 的时候不执行 {} 里面的代码 if (false) { alert('因为条件是 false,我不会执行') }
if else语句
- 通过
if
条件来决定,执行哪一个{}
里面的代码 - 语法:
if (条件) { 条件为 true 的时候执行 } else { 条件为 false 的时候执行 }
- 两个
{}
内的代码一定有一个会执行
if else if …语句
- 可以通过
if
和else if
来设置多个条件进行判断 - 语法:
if (条件1) { 条件1为 true 的时候执行 } else if (条件2) { 条件2为 true 的时候执行 }
- 会从头开始依次判断条件
- 如果第一个条件为
true
了,那么就会执行后面的{}
里面的内容 - 如果第一个条件为
false
,那么就会判断第二个条件,依次类推
- 如果第一个条件为
- 多个
{}
,只会有一个被执行,一旦有一个条件为true
了,后面的就不在判断了
if else if … else 语句
-
和之前的
if else if ...
基本一致,只不过是在所有条件都不满足的时候,执行最后else
后面的{}
// 第一个条件为 false,第二个条件为 false,最终会打印 “我是代码段3” // 只有前面所有的条件都不满足的时候会执行 else 后面的 {} 里面的代码 // 只要前面有一个条件满足了,那么后面的就都不会执行了 if (false) { alert('我是代码段1') } else if (false) { alert('我是代码段2') } else { alert('我是代码段3') }