Day05 JavaScript(循环)

这几天又是国庆、又是出差,基本没有闲下来,也没时间开开电脑。哈,果然学习不是你想学,想学就能学!

世界上有两种长大的方式:一种是明白了;一种是忘记了明白不了的,心中了无牵挂。所有的人都选择后一种长大方式。

流程控制(for loops)

一个条件语句只能执行一次代码,而循环语句可以重复、多次执行代码。JavaScript中最常用的是for循环。

    for(初始化语句; 条件判断语句; 计数器) {
        code block;
  }
  • 初始化
    在循环开始之前执行一次,用于定义和设置循环变量
  • 条件判断语句
    在每一轮循环的开始执行,只要条件判断为true,继续循环;条件判断为false时,循环停止执行。所以如果一开始条件判断为false,循环则不会执行(区别于do...while()
  • 计数器
    在每轮循环结束时执行,用于递增或者递减。
  • 将数值添加到空数组
    var myArray = [];
    for(var i = 1; i < 6; i++) {
        myArray.push(i);
  }           //myArray = [1, 2, 3, 4, 5]

逆向迭代

    var myArray = [];
    for(var i = 10; i >= 0; i -= 2) {
        myArray.push(i);
  }           //myArray = [10, 8, 6, 4, 2, 0]

  • 迭代输出数组全部元素是JavaScript中的常见需求
    var myArray = [1, 2, 3, 4, 5];
    for(var i = 0; i < myArray.length; i++) {
        console.log(myArray[i]);
  }          //数组索引都是从0开始,数组最后一个元素的下标是`Array.length - 1`
  • 二维数组遍历--两层for循环
    先遍历外层数组,再遍历内层数组。
    var arr = [ [1,2], [3,4], [5,6]];
    for (var i=0; i < arr.length; i++) { 
        for (var j=0; j < arr[i].length; j++) {    //使用arr[i].length获得子数组的长度
                console.log(arr[i][j]); }
      }

while循环

当条件判断语句为true时,循环才会执行,反之不执行。

  while(条件判断语句) {
      code block;
  }

实例

    var myArray = [];
    var i = 0;
    while(i < 5) {
      myArray.push(i);
      i++;
     }
    }   //myArray改变为[0, 1, 2, 3, 4]

  • 伪随机数
    使用Math.random()方法可以返回0~1之间的一个随机数(但是不会取到1);
    配合Math.floor():向下取整,可以随机获取一个0~n-1之间的整数。
    Math.floor(Math.random() * 20);  //随机获得一个0~19之间的整数

返回m~n之间的任意整数

  function randomRange(myMin, myMax) {
    return Math.floor(Math.random() * (myMax - myMin + 1)) + myMin; 
}
var myRandom = randomRange(5, 15);

正则表达式

Regular expressions用来根据某种匹配模式来寻找Strings中的某些子串。
/and/gi
/:表示正则表达式的头部;
and:表示要匹配的模式;
/:表示正则表达式的尾部;
g:表示代表global,意味返回所有的匹配,而非仅仅第一个;
i:表示忽略大小写,当我们寻找匹配的字符串时,忽略字母的大小写。

  • 正则表达式的数字选择器\d:用来获取一个字符串的数字。
    例如/\d+/g:其中+表示允许匹配一个或多个数字。

  • \s选择器来匹配字符串中的空白:
    空白字符包括:" "(空格),\r(回车),\n(换行),\t(制表符),\f(换页)
    匹配空白字符的正则表达式类似于:/\s+/g

  • \S选择器匹配字符串中的任意非空白字符:/\S/g匹配字符串中的所有字符

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容