02运算符与流程控制
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>02运算符与流程控制</title>
</head>
<body>
<script>
/*1.赋值运算符与算术运算符*/
//1.1 赋值运算
// let a = 5;
// let b = "heHe"
// console.log(typeof a,typeof b) // number string
//1.2 算术运算
// let a = 5,b = 3;
// let c = a % b // + 加、- 减、* 乘、/ 除、% 取余
// a += 5 //a = a + 5
// console.log(a, c)
/*2.一元运算符的前置与后置操作*/
//2.1当是独立的表达式时,前++和后++效果一样
// let n = 1;
// n++; // ++n n = n + 1
// console.log(n) // 2
//2.2 ++n返回的是自增后的值(新值)
// let n = 1,f = 2;
// let d = f + ++n; // let d = f + (n = n + 1)
// console.log(d) // 4
//2.3 n++返回的是自增前的值(原变量值)
// let n = 1,f = 2;
// let d = f + n++; // let d = f + n
// console.log(d) // 3
/*3.比较运算符注意事项*/
// let a = 2;
// let b = "3";
// let c = "2";
// // string b 和 number a 相比,b 自动转为 number
// console.log(a < b); // true
// // == 强制类型转换比较
// console.log(a == c); // true
// // 不强制类型转换比较
// console.log(a === c); // false
/*4.逻辑运算符实例详解*/
/*
(1) 逻辑与
使用 && 符号表示逻辑与,指符号两端都为 true 时表达式结果为 true。
(2) 逻辑或
使用 || 符号表示逻辑或,指符号左右两端有一方为 true,表达式即成立。
(3) 逻辑非
使用 ! 符号表示逻辑非,即原来是 true 转变为 false,反之亦然。
*/
/*5.短路运算的妙用*/
// let a=1,b=0;
// console.log(a == true,b == false); //true true
// 真值赋值
// let c=8,d=0;
// let e = d || c;
// console.log(e); //8
// 使用短路特性赋值
// let sex = prompt("请输入性别") || "保密";
// console.log(sex)
/*6.if else*/
// 当条件为真时执行表达式代码块。
// let status = false;
// if (status) {
// console.log("successfully");
// } else {
// console.log("failed"); // failed
// }
/*7.三元表达式*/
// 是针对 if 判断的简写形式。
// let n = true ? 1 : 2;
// console.log(n); //1
//
// let f = true ? (1 == true ? 'yes' : 'no') : 3;
// console.log(f); // yes
/*8.switch使用注意事项*/
/*
(1)可以将 switch 理解为 if 的另一种结构清晰的写法。
(2)如果表达式等于 case 中的值,将执行此 case 代码段
(3)break 关键字会终止 switch 的执行
(4)没有任何 case匹配时将执行default 代码块
(5)如果case执行后缺少 break 则接着执行后面的语句
*/
// let name = '视频';
// switch (name) {
// case '产品':
// console.log('产品');
// break;
// case '视频':
// console.log('视频'); // 视频
// break;
// default:
// console.log('default')
// }
/*9.while循环控制*/
// 循环执行语句,需要设置跳出循环的条件否则会陷入死循环状态。
// 先判断条件成立再进入循环
// let start = 5;
// while (1<start--) {
// console.log(start) // 4 3 2 1
// }
/*10.dowhile循环实例操作*/
// 后条件判断语句,无论条件是否为真都会先进行循环体。
// 先进入循环再判断条件
// let start = 1;
// do {
// console.log(start); // 1 2 3 4 5
// } while (++start<=5);
/*11.使用for循环打印杨辉三角*/
// 可以在循环前初始化初始计算变量。下面是使用for 打印倒三角的示例
// for (let i = 10; i > 0; i--) {
// for (let n = 0; n < i; n++) {
// document.write('*');
// }
// document.write("<br/>");
// }
/*12.break-continue与label标签的使用*/
//break用于退出当前循环,continue 用于退出当前循环返回循环起始继续执行。
//获取所有偶数,所有奇数使用 continue 跳过
// for (let i = 1; i <= 10; i++) {
// if (i % 2) continue;
// console.log(i); //2 4 6 8 10
// }
//获取三个奇数,超过时使用 break退出循环
// let count = 0,num = 3;
// for (let i = 1; i <= 10; i++) {
// if (i % 2) {
// console.log(i); //1 3 5
// if (++count == num) break;
// }
// }
/*13.for-in与for-of使用方法操作*/
// 用于遍历对象的所有属性,for/in主要用于遍历对象,不建议用来遍历数组。
// // for-in 根据下标取值
// let web = ["www.baidu.com","www.jd.com"];
// for(let key in web) {
// console.log(web[key]) // www.baidu.com www.jd.com
// }
//
// // for-of 直接取值
// for(let key of web) {
// console.log(key); // www.baidu.com www.jd.com
// }
</script>
</body>
</html>