2022-08-16
数据类型转换
其他数据类型转换成数值
-
Number(变量)
// 转换的内容当做一个整体来处理 // 如果可以转成一个合法数字 则转换成数字 // 如果不能转成一个合法的数字 则转换成NaN
-
parseInt(变量)
//不管转换什么 都是一位一位的对待 // 如果第一位不能转成合法的数字 那么就立马输出 NaN 然后停止转换 // 如果第一位能转成合法的数字 那么保留第一位 然后继续看第二位 以此类推直到结束 // 不认小数点
-
parseFloat(变量)
// 也是一位一位的对待 同parseInt // 如果第一位不能转成合法的值 那么就立马输出 NaN 然后停止转换 // 如果第一位可以转换 那么保留第一位 继续下一位 // 识别小数点
-
除了加法以外的数学运算
运算符两边都是可运算数字才行
如果运算符任何一遍不是一个可运算数字,那么就会返回
NaN
加法不可以用
-
判断一个数值是否是NaN
// isNaN() 只要带is的工具 结果不出意外一定是布尔类型 // 如果是NaN 则返回true 否则返回false // console.log(isNaN(parseFloat('abc123.456')));// true // console.log(isNaN(parseFloat('123.456abc')));// false // console.log(parseFloat('abc123.4576')+100) // NaN // console.log(NaN == NaN) // 结果一定是布尔类型 要么true 要么false // NaN 跟任何数字运算 结果一定是NaN // NaN 不等于NaN
其他数据类型转成字符串
-
String(变量)
所有数据类型都可以
-
变量.toString()
有一些数据类型不能使用
toString()
方法,比如undefined
和null
-
使用加法运算
在 JS 里面,
+
由两个含义字符串拼接: 只要
+
任意一边是字符串,就会进行字符串拼接加法运算:只有
+
两边都是数字的时候,才会进行数学运算
其他数据类型转成布尔
-
Boolean(变量)
在 js 中,只有
''
、0
、null
、undefined
、NaN
,这些是false
其余都是
true
运算符
数学运算符
-
+
只有符号两边都是数字的时候才会进行加法运算
只要符号任意一边是字符串类型,就会进行字符串拼接
-
-
会执行减法运算
会自动把两边都转换成数字进行运算
-
*
会执行乘法运算
会自动把两边都转换成数字进行运算
-
/
会执行除法运算
会自动把两边都转换成数字进行运算
-
%
会执行取余运算
会自动把两边都转换成数字进行运算
赋值运算符
-
=
就是把
=
右边的赋值给等号左边的变量名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'
两个的值是一样的,所以得到
true
-
-
===
-
比较符号两边的值和数据类型是否都相等
1 === '1'
两个值虽然一样,但是因为数据类型不一样,所以得到
false
-
-
!=
-
比较符号两边的值是否不等
1 != '1'
因为两边的值是相等的,所以比较他们不等的时候得到
false
-
-
!==
-
比较符号两边的数据类型和值是否不等
1 !== '1'
因为两边的数据类型确实不一样,所以得到
true
-
-
>=
-
比较左边的值是否 大于或等于 右边的值
1 >= 1` 结果是 `true 1 >= 0` 结果是 `true 1 >= 2` 结果是 `false
-
-
<=
-
比较左边的值是否 小于或等于 右边的值
1 <= 2 结果是 true 1 <= 1 结果是 true 1 <= 0 结果是 false
-
-
>
-
比较左边的值是否 大于 右边的值
1 > 0` 结果是 `true 1 > 1` 结果是 `false 1 > 2` 结果是 `false
-
-
<
-
比较左边的值是否 小于 右边的值
1 < 2` 结果是 `true 1 < 1` 结果是 `false 1 < 0` 结果是 `false
-
逻辑运算符
-
&&
-
进行 且 的运算
// 逻辑与 && 两边都是true 结果才是true // 两边只要有一个是false 整个结果就是false // var test= true && true && true && false && true // console.log(test) // false // var test1= true && true && true && true && true // console.log(test1) // true
-
-
||
-
进行 或 的运算
// 逻辑或 || 两边只要有一个是true 整个结果就是true // 两边都是false 整个结果就是false // var test2 = true || false || false || true // console.log(test2) // true // var test3 = false || false || false || false // console.log(test3) // false // 遇到true 停止向右判断 // var test7 = 100 || 0 && 0.0 && NaN // console.log(test7) // 100
-
-
!
-
进行 取反 运算
// 逻辑非 ! true-> false false-> true // console.log(!true) //false // console.log(!100) // false
-
自增自减运算符(一元运算符)
-
++
-
进行自增运算
-
分成两种,前置++ 和 后置++
-
前置++,会先把值自动 +1,在返回
-
后置++,会先把值返回,在自动+1
var test = 10 console.log(test) // 10 console.log(test++) // 10 console.log(test) // 11 console.log(++test) //12
-
--
-
进行自减运算
-
分成两种,前置-- 和 后置--
-
和
++
运算符道理一样
分支结构
if 语句
-
通过一个
if
语句来决定代码是否执行 -
语法:
if (条件) { 要执行的代码 }
-
通过
()
里面的条件是否成立来决定{}
里面的代码是否执行
// 条件为 true 的时候执行 {} 里面的代码 if (true) { alert('因为条件是 true,我会执行') } // 条件为 false 的时候不执行 {} 里面的代码 if (false) { alert('因为条件是 false,我不会执行') }
if else 语句
-
通过
if
条件来决定,执行哪一个{}
里面的代码 -
语法:
if (条件) { 条件为 true 的时候执行 } else { 条件为 false 的时候执行 }
-
两个
{}
内的代码一定有一个会执行
// 条件为 true 的时候,会执行 if 后面的 {} if (true) { alert('因为条件是 true,我会执行') } else { alert('因为条件是 true,我不会执行') } // 条件为 false 的时候,会执行 else 后面的 {} if (false) { alert('因为条件为 false,我不会执行') } else { alert('因为条件为 false,我会执行') }