流程控制
- 顺序结构(自上向下);
- 分支结构(选择结构);
- if 语句
- switch case 语句
- 循环结构
- for循环语句
- while 循环语句
- for in(循环对象)
分支语句
- 1-if语句: - `if(条件){ 条件成立执行的语句 }` - `if(条件){ 条件成立执行的语句 }else{ 条件不成立执行的语句 }` - if嵌套 ``` if(条件1){ 条件1成立执行的语句 } else if(条件2){ 条件2成立执行的语句 } else if(条件3){ 条件2成立执行的语句 } ... else{ 前面条件都不满足执行的语句 } ``` - 2-switch case 语句: ``` switch(变量或表达式){ case 值1 : 代码; break; case 值2 : 代码; break; case 值3 : 代码; break; ... default:前面的case都没有匹配到,执行的语句; } ```
循环语句 - 1-for循环 ``` for(①初始化循环变量;②循环条件;④累加或递减操作){ ③循环体:反复运行的代码 } - for循环执行过程 - 1- 执行①初始化循环变量 - 2- 执行②判断是否满足循环条件 - a-满足:执行③循环体 - b-不满足:结束循环 - 3- 执行④:累加或递减 - 4- 继续执行②判断循环条件 - -for循环的使用场景 - 1)-遍历数组 ``` var ary = ['张三','李四','王五','赵柳','吴涛']; //0-4 for(var i = 0; i < ary.length; i++){ console.log(ary[i]); } ``` - 2)-批量生成标签 ``` <div id="box"></div> <script> var oBox = document.getElementById('box'); var str = ''; //循环100次生成100个div for(var i = 0; i < 100; i++){ str += '<div>' + (i+1) + '</div>'; } oBox.innerHTML = str; </script> ```
- 2-while循环
``` 初始化循环变量; while(循环条件){ 循环体; 更新循环变量; } ``` - -do-while - 和while的区别,当条件不满足时,do-while会执行一次 ``` 初始化循环变量; do{ 循环体; 更新循环变量; }while(循环条件); ``` - - continue :结束本轮循环,继续下一轮循环 - - break : 跳出整个循环
- 3- for in 对象操作 ``` var obj = { name:'优就业', age:18, 1:'aaaa', }; //查看属性值 console.log(obj.age); // 添加属性 obj.city = "北京"; console.log(obj); //修改已有的属性值 obj.age = 19; console.log(obj); //删除属性 delete obj.name; console.log(obj); //当对象属性名是数字时,需要 obj[数字] console.log(obj[1]); console.log( obj['age'] ); //如果属性名使用的是变量,也需要用obj[变量名]访问 var a = 'age'; console.log(obj[a]); ``` - - for in循环 ``` for(var key in obj){ //key是一个变量,代表的是对象的属性名 //obj代表要遍历的对象 //obj[key] 代表属性值 } ``` - for in循环会优先按升序遍历数字属性,其他属性按定义的顺序遍历