企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
[toc] ### 1. switch case ``` var a = 1; switch(a) { //控制选择器 case 1: alert("1"); break; //跳出循环 case 2: alert("2"); break; default: //默认行为 alert("3"); } ``` ### 2. while while()只要小括号里的条件为真,就会一直输出 ``` var a = 0; while(a<=10){ //无限执行 alert(a); } ``` ### 3. for循环 ``` for(var i=0;i<=2;i++){ console.log(i); } console.log(i); //输出结果:0, 1, 2 3 ``` 获取1-10的和 ``` var sum = 0; for(var i=1; i<=10; i++){ // sum = sum + i sum += i; } alert(sum); ``` 获取1-10的积 ``` var sum = 1; for (var i = 1; i <= 10; i++) { sum = sum * i; } alert(sum); ``` 获得数组中的最大值 ``` var arr = [22, 12, 11, 14, 33]; var max = arr[0]; for(var i=1; i<arr.length; i++){ if(max < arr[i]){ max = arr[i]; } } alert(max); ``` es6之前js没有块级作用域 ``` for(var i=0; i<3; i++){ console.log(i); } console.log(i); //3 ``` 解决办法: 1. 将var改成let 2. 把i改成其他变量 3. 将该段代码放在函数内,改变作用域范围 ### 4. javaScript实现导航点击变色 ``` window.onload = function(){ var lis = document.getElementByIdTagName("li"); for(let i=0; i<lis.length; i++){ //遍历所有li标签 lis[i].onclick = function(){ //给所有li标签加点击事件 for(let i=0; i<lis.length; i++){ lis[i].style.backgroundColor = "#5f5f5f"; //再次遍历所有li标签, 点击时让所有li标签变灰色 } this.style.backgroundColor = "#4caf50"; //被点击的this li标签单独变色 } } } ``` ### 5. for in 遍历下标 ``` var obj = { name: "xu", age: 18, sex: "male" } var arr = [1, 2, 34, 5]; //如果对象的属性值是变量,只能用[]的方式读取属性值 for(let key in obj){ console.log(obj[key]); } for(let i in arr){ console.log(arr[i]); } ``` ### 6. for of 遍历值 ``` for(let value of arr){ console.log(value); //1, 2, 34, 5 } ``` ### 7. continue 跳过当前条件的循环,继续下一项 ``` var arr = [1, 2, 34, 5]; for(let i=0; i<arr.length; i++){ if(i==2){continue}; console.log(arr[i]); //1, 2, 5 } ```