美文网首页Web前端之路
初探JavaScript魅力2

初探JavaScript魅力2

作者: 想做一个画家 | 来源:发表于2017-11-01 10:22 被阅读11次

1.循环语句

在JavaScript中,循环语句有三种,while、do while和for循环。

1.1. while循环

基本语法:

//当满足循环条件时,执行循环体里的代码
//每执行完一次循环体的代码以后,再判断一下循环条件
//如果循环不成立时,结束循环
while(循环条件){
  //循环体
}

示例代码:

//计算1~100所有整数之和
var i = 0;   //初始化变量,用来表示循环了多少次
var sum = 0;  //初始化变量,用来记录和

//while语句的判断条件是i<=100,只要满足这个条件,就会一直执行循环体
while(i <= 100) {
  sum +=i;  //循环体每次进来以后,都会在sum上进行叠加
  i ++;    //每次加完以后,让计数器自增
}

1.2. do...while循环

do...while循环和while循环语法类似,不同点在于,do...while循环里,循环体至少会被执行一次

语法格式:

do{
  //循环体
}while(判断条件);

思考:

使用do...while完成循环输入用户名密码案例。

1.3.for循环

for循环是最常用的语句之一,它可以很方便的让代码循环规定的次数。

语法格式:

for(初始化语句;条件判断语句;循环体执行完以后的语句){
  //循环体
}

示例代码:

var sum = 0;
for(var i =0; i <= 100; i ++){
  sum += i;
}

1.4.break和countinue

break:立即跳出整个循环,即结束循环。

continue:结束当前循环,继续开始下一轮循环。

思考:

for(var i = 0;i <= 10; i++) {
  if(i == 5) {
    continue;
  }
  if(i == 8) {
    break;
  }
  console.log(i);
}

1.5.断点调试

断点调试是指在代码中添加断点,当程序运行时到这一断点时就会暂停,可以让开发人员执行后续的操作(例如,查看变量值,单步运行查看代码流程等),可以很方便的让开发人员对代码进行调试。

调试步骤:

运行JS代码-->F12打开控制台-->Sources-->找到想要暂停的JS代码-->点击行号添加断点

调试中的相关技巧:

Watch:监视。通过Watch可以查看变量的值,非常实用。
F10:单步运程,程序执行到下一行代码。
F8:直接运行到下一个断点。如果程序中没有其它断点,程序就直接运行结束

tips: 不要随便监视表达式,如果监视了表达式,表达式会被执行

2.数组

所谓数组,就是将多个元素(通常是同一类型的数据)按照一定的顺序放到一个集合中,这个集合我们就称它为数组。

为什么要使用数组?
1.一个变量同时只能用来存储一个值,当我们需要存储多个值,如全班每个人的成绩时,就必须要用到数组了。
2.使用数组把同一类型的数据放到一个集合里,便于管理,同时操作起来也比较方便。

2.1.创建数组

数组是一个有长度且按照一定顺序排列的列表。在JavaScript里,数组的长度可以动态调整。

通过构造函数创建数组:

var arr1 = new Array();  //创建了一个空的数组,这个数组里没有数据
var arr2 = new Array(10);  //创建了一个空的数组,但是指定了这个数组的长度是10
var arr3 = new Array(10,13,14);  //创建了一个数组,并且在这个数组里放入了三个数字10,13,14

通过字面量来直接创建数组

var arr1 = [];   //创建了一个空的数组
var arr2 = [12];  //创建了一个数组,并在这个数组里放入了一个数字12
var arr3 = ["ab","cd","ef"];  //创建了一个数组,并在这个数组里放入了三个字符串,注意使用逗号分隔

2.2.数组的长度与下标

数组的长度:和字符串一样,数组也有一个length属性,指数组中存储的数据的个数。

var arr = ["123","Hello",345,true];
arr.length;    //数组的长度是4

数组的下标:数组是有序的,数组里的每一个元素都有对应的下标,我们可以通过下标很方便的拿到数组里的数据。注意:数组里的下标是从0开始的。

var arr = ["hello",1234,true,4567,"world"];
arr[3];   //取出的结果是4567
arr[10];   //下标超出了数组的长度,返回值是undefined

2.3.数组的取值与赋值

数组的取值:可以通过数组的下标,很方便的取出数组里对应位置上的值。

var arr = [12,34,23,78,3,1,9];
arr[3];   //将数组里的第3个元素78取出

数组的改值:通过数组的下标,也可以很方便的修改数组里对应位置上的值。

var arr = [34,23,5,8,120];
arr[2] = "Hello";  //将数组里第2个元素数字5改成了字符串"Hello"
arr[8] = "World";  //在数组的第8个位置上插入了一个字符串"World"

2.4.数组的遍历

遍历:将数组里的每一个元素都访问一次,就叫遍历一次数组。

数组遍历的基本语法:

for(var i = 0; i < arr.length; i ++) {
  //可以操作数组里的每一个元素
}

2.5.冒泡排序

使用冒泡排序将一个数组里的数据升序或降序进行排列。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
<script>
  var arr = [1,4,8,3,2,0,6,5,7,9];
  for(var i = arr.length - 1; i >= 0; i--){
    var flag = true;
    for(var j = 0; j < i; j++){
//      document.write("*");
//      document.write(arr[j]);
//      document.write("(" + arr[j+1] + "," + arr[j]+")");
      if (arr[j] > arr[j+1]){
        var tmp = arr[j];
        arr[j] = arr[j+1];
        arr[j+1] = tmp;
        flag = false;
      }
    }
    if(flag){
      break;
    }
//    document.write("<br>");
  }
  console.log(arr); // 
</script>
</body>
</html>
冒泡排序.png

相关文章

  • 初探JavaScript魅力2

    1.循环语句 在JavaScript中,循环语句有三种,while、do while和for循环。 1.1. wh...

  • 初探JavaScript魅力

    JavaScript是什么? 网页特效原理 淘宝、新浪、报读 JavaScript就是修改样式 编写JS的流程 布...

  • 初探JavaScript魅力1

    JS前置知识 什么是JS语言 javascript是一种运行在客户端 的脚本语言 客户端:即接受服务的一端,与服务...

  • 初探JavaScript魅力4

    1.对象 1.1.对象的基本概念 1.1.1.为什么要有对象? 在JavaScript中,对象跟数组、函数一样,都...

  • 初探JavaScript魅力3

    1.函数 1.1.函数的基础知识 1.1.1.为什么要使用函数 在写代码的时候,有一些常用的代码需要书写多次,如果...

  • 初探JavaScript

    Day 01---初探JavaScript 一、JavaScript概述 1.1 JavaScript是什么? ...

  • Promise async/await

    Promise async/await 参考初探promise promise 理解 JavaScript ...

  • 2. JavaScript初探

    劳谦虚己,则附之者众;骄慢倨傲,则去之者多。——葛洪(东晋) 2.1 JavaScript概述 JavaScrip...

  • 2018-03-26

    JavaScript 运行机制初探 1.为什么JavaScript是单线程? JavaScript语言的一大特点就...

  • javascript 中的事件机制

    js之事件机制 1、事件初探 1.1 js事件的概述 JavaScript事件:JavaScript是基于事件驱动...

网友评论

    本文标题:初探JavaScript魅力2

    本文链接:https://www.haomeiwen.com/subject/wuywpxtx.html