蚂蚁分类信息网站建设,织梦做的网站页面打不开,wordpress退出维护模式,上海网站公司js循环判断的方法if语句if else语句if else if else if......三元表达式switchswitch语句和if语句的区别for循环while循环do while循环for inforEachfor of性能问题if语句
条件满足就执行#xff0c;不满足就不执行
if(条件){语句}if else语句
条件满足#xff0c;执行语句…
js循环判断的方法if语句if else语句if else if else if......三元表达式switchswitch语句和if语句的区别for循环while循环do while循环for inforEachfor of性能问题if语句
条件满足就执行不满足就不执行
if(条件){语句}if else语句
条件满足执行语句1条件不满足执行语句2
if(条件){语句1
} else{语句2
}
if else if else if… if (条件1) {语句1} else{语句2} if (条件2) {语句2} else{语句3}三元表达式
条件1语句2语句3 如果条件1为true执行语句2。如果条件1为false执行语句3。
var num421;var num123?console.log(密码正确) console.log(密码错误)//输入num是否为123如果是输出密码正确如果不是输出密码错误
//输入值为421显然输出反馈给用户的信息的是密码错误switch
它用于基于不同的条件来执行不同的代码。当要针对变量设置一系列特定值的选项时就可以使用 switch switch(表达式){case value1://表达式等于value1时要执行的代码break;case value2://表达式等于value2时要执行的代码break;default:// 表达式不等于任何一个value值时要执行的代码}switch语句和if语句的区别 switch…case语句通常处理case为比较确定值的情况而if…else…语句更加灵活常用于范围判断大于、等于某个范围。 switch语句进行条件判断后直接执行到程序的条件语句而if…else…语句有几种条件就得判断几次从上到下依次判断。 当分支比较少时if…else…语句的执行效率比switch语句更高。 当分支比较多时switch语句的执行效率比if…else…语句更高结构也更清晰。 for循环 for(初始化变量①; 条件表达式②; 操作表达式③ ){//循环体④}初始化变量其实就是用var声明一个普通的变量并且这个变量通常是作为计数器使用。 条件表达式用来决定每一次循环是否继续执行也就是循环的终止条件。 操作表达式每次循环最后执行的代码经常用于更新计数器递增或递减。 循环体一组被重复执行的语句。 执行流程 初始化变量初始化操作在整个 for 循环只会执行一次。执行条件表达式如果为 true则执行循环体语句否则退出循环循环结束。执行操作表达式此时第一轮结束。第二轮开始直接去执行条件表达式不再初始化变量如果为 true则去执行循环体 语句否则退出循环。继续执行操作表达式第二轮结束。… 整体执行顺序为① ② ④ ③ ② ④ ③ ② ④ ③ … ② 循环结束 while循环 while (条件表达式) {//循环体代码}先执行条件表达式如果结果为 true则执行循环体代码 如果为 false则退出循环执行后面代码 执行循环体代码 循环体代码执行完毕后程序会继续判断执行条件表达式。 while语句可以在条件表达式为真的前提下循环执行指定的一段代码直到表达式不为真时结束循环。 do while循环
do while 是先执行代码在进行判断所以 do while 至少执行一次。
do {//循环体代码 - 条件表达式为 true 时重复执行循环代码} while(条件表达式);for in
常用于遍历对象 不能使用breakcontinuereturn来控制循环
let arr [{name: 张三},{name: 李四}]; for (let i in arr) { console.log(i); //遍历下标 结果为 0 1} forEach
forEach用于遍历数组中的元素并且会对数组中元素使用callback与mapraduce不同的是它总返回一个undefined并且不可以链式调用。 不能使用breakcontinuereturn来控制循环
let arr [{name: 张三},{name: 李四}]; arr.forEach((item,index){console.log(index);})for of
for—of不能遍历普通对象因为普通对象没有Symbol.iterator属性如果一个对象有Symbol.iterator属性那么就可以使用for—of遍历。 常用于遍历array数组map映射set集合strings字符串 可以使用breakcontinuereturn来控制循环
let arr [{name: 张三},{name: 李四}]; for (let i of arr){console.log(i);} 性能问题 forEach方法for in方法for of方法都来自于for循环。 它们只是底层进行不同的封装虽然看起来简单但是性能是没有for循环优秀的。 因为for循环是最底层最基本性能最优秀的一种遍历方式。但for循环一旦嵌套比如冒泡排序看起来是非常令人头疼的。 包括map方法sort方法都是针对不同数据类型为了简单高效解决问题进行了封装。但性能上说for循环永远是最优秀的。