前言
本篇博客介绍 js 中的运算符、条件语句、循环语句以及数组。
运算符
- 算术运算符
// + | - | * | / | % | ++ | -- console.log(5 / 2); // 2.5 // 取整 console.log('%d', 5 / 2); // "2" var num = parseInt(5 / 2); // 2 console.log(num); // 取模(求余) console.log(5 % 2); // 1 // 任何一个自然数对 n 取余, 结果为 [0, n-1] // 自增|自减 ++|-- // ++就是自增1, --就是自减1 var num = 10 console.log(num++); // 10 console.log(++num); // 12 console.log(num); // 12 // ++在变量后(num++), 先将变量的值拿去使用,再自身自增1 // ++再变量前(++num), 先将变量自身自增1, 再将结果拿去使用 // 总结: 不管++在前在后,运算结束后,变量自身值一定自增1 // res = ++num <==> num++; res = num // res = num++ <==> res = num; ++num- 赋值运算符
// = | += | -= | *= | /= | %= var x = 10; // 将10的值赋值给变量x y = x; // 将变量x的值传递给变量y console.log(y); // 10 x += 10; // x = x + 10, 运算方式由右至左, 将x+10的结果重新复制给x console.log(y); // 10, y的值虽然来源于x, 但y值只由自身控制 // x /= 10 == x = x / 10- 比较运算符
// 比较运算符, 结果为Boolean类型 // == | === console.log("5" == 5); // true, 只做值比较 console.log("5" === 5); // false, 比较值及类型 // != | !== console.log("5" != 5); // false, 只做值比较 console.log("5" !== 5); // true, 比较值及类型- 逻辑运算符
// 总结&&: 全真为真, 有假则假 // 总结||: 全假则假, 有真则真 // 总结!: 真则假, 假则真 // 逻辑运算符的结果本质上为表达式值 // 表达式: 由数字,变量,运算符组成的合法式子 res = a < b && c; console.log(res); res = (a = 1 || b == c); console.log(res); // 针对 && | || // 疑问: 逻辑运算符结果可能为逻辑运算符之前表达式的值,也可能是之后表达式的值针对逻辑运算符,会出现短路现象。当运算符为&&时,如果第一个表达式的结果为假,那么第二个表达式就不会执行;同理,||当第一个表达式的结果为真时,第二个表达式就不会执行(python 在逻辑判断也会出现短路现象)
- 三目运算符(等同于 python 中的三元表达式)
// 语法: 条件表达式 ? 表达式1 : 表达式2 var a = 10, b = 20; var res = a < b ? a : b; // 取小值 console.log(res); res = a < b ? b : a; // 取大值 console.log(res); // 类似于if...esle... a < b ?
