经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » JavaScript » 查看文章
JavaScript入门-流程控制和break、continue关键字
来源:cnblogs  作者:lovelyk  时间:2021/1/11 9:34:40  对本文有异议

JavaScript-流程控制

流程控制分为:条件选择,循环控制

条件选择

if、else

  1. //1. if
  2. if(条件){
  3. 执行语句
  4. }
  5. //2. if...else
  6. if(条件){
  7. 执行语句1
  8. }else{
  9. 执行语句2
  10. }
  11. //3. if...else if...else
  12. if(条件1){
  13. 执行语句1
  14. }else if(条件2){
  15. 执行语句2
  16. }else{
  17. 执行语句3
  18. }

ps:以上就是if...else组成的三种条件选择,在以后的使用中会非常的频繁,也是编程中最重要的语法,具体采用哪一种看自己爱好

switch语句

  1. switch(值){
  2. case 1
  3. 执行语句
  4. break
  5. case 2
  6. 执行语句
  7. break
  8. case 3
  9. 执行语句
  10. break
  11. default:
  12. 执行语句
  13. }

ps:switch 语句不像if判断那样把条件写在圆括号()里面,而是把多个条件写在case后面,满足case后面的值,就执行,直到break就跳出switch语句。
需要注意的是:case可以多个并行在一起,比如这样

  1. switch(值){
  2. case 1:
  3. case 2:
  4. case 3:
  5. console.log('a');
  6. break;
  7. case 4:
  8. console.log('b');
  9. }
  10. 也就是说,switch里面的值如果是123中的某一个,都会执行打印'a'的语句,因为他们的结束条件就是遇到break

循环控制

while循环

  1. //1. while
  2. while(条件){
  3. 循环体
  4. }
  5. //2. do...while
  6. do{
  7. 循环体
  8. }while(条件);

区别:while需要满足循环条件才会执行,do...while无论是否满足条件,他都会先执行一次,然后再判断循环条件。
ps:在写循环体时,尽可能要有退出循环的条件,或者return,break关键字,否则就是一个死循环。

for循环

  1. //1. 普通for循环
  2. for(初始值;循环条件;改变条件){
  3. 循环体
  4. }
  5. 面试题:如何用for写一个最高效的死循环?
  6. 很简单,直接:for(;;){}
  7. //2. for...in
  8. 以一个arr数组为例
  9. var arr = [3,3,4,5,7,89,0,-10];
  10. for(var index in arr){
  11. console.log(arr[index],typeof index)
  12. }
  13. 这里的index是数组的下标,从0开始,但是这个index的值类型不是number,而是string
  14. 这就很奇怪,但是使用的时候,比如arr[index]却不会报错。所以就也不用自己手动去转了。
  15. //3. for...of
  16. 还是上面数组为例
  17. for(var value of arr){
  18. console.log(value)
  19. }
  20. 这里的value就是arr的值了,从第一个值开始到最后遍历

注意:
1.这三个for循环效率都一样,使用看个人爱好。
2.按道理来说,使用for...in时候,我们应该用const(定义常量)来定义下标,因为下标是不能够改的。for...of也应如此。

break 和 continue关键字

  1. //break
  2. //外层循环
  3. for(const i in arr1){
  4. //内层循环
  5. for(const j ipann arr2){
  6. if(arr[i] === arr[j]){
  7. break;
  8. }
  9. }
  10. }
  11. 上面的if条件成立,则执行break语句,跳出循环。但是break不会结束整个循环,而是结束内层的循环,没法结束外层的循环。
  12. //continue
  13. //外层循环
  14. for(const i in arr1){
  15. //内层循环
  16. for(const j in arr2){
  17. if(arr[i] === arr[j]){
  18. continue;
  19. }
  20. }
  21. }
  22. 上面的if条件成立,执行continue语句,那么continue后面的语句都不会执行,结束了
  23. 当前的这一次(注意是这一次)循环,还是会继续下一次的循环。此时它应该还是内层循环着。

面试会问break和continue的比较?

  1. break和continue都可以作用于循环语句,但是break还可以在switch里
  2. break结束离他最近的一个循环
  3. continue结束的是离他最近的本次循环

原文链接:http://www.cnblogs.com/lovelyk/p/14260279.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号