JavaScript基础语法(二)

目录

一、循环结构

1.for循环

2.break语句

3.continue语句:结束本次循环

4.while循环:'当'循环

5.do-while循环

6.循环嵌套:在一个循环内部再套一个或多个循环

示例1:计算1+2+3+...+100

示例2:计算100以内所有的偶数和、奇数和并输出

示例3:判断输入的一个整数是否是素数

示例4:计算斐波拉契数列的前20项之和

示例5:输出100以内的所有素数

二、数组

1.创建数组

2.访问数组元素

3.数组的属性

示例1:找出数组中的最大值

示例2:找出数组中大于等于10的元素,存放到新数组中

示例3:反转数组元素

示例4:删除数组中的0

三、简单的排序算法

1.冒泡排序

2.选择排序


一、循环结构

重复结构(迭代),根据条件重复执行部分代码

1.for循环

for(表达式1;表达式2;表达式3){

循环体语句

}

(1)在没有"{}"的时,循环的控制范围到期后的第一条语句

(2)三个表达式都可以省略,但是分号不能省略

for(;;){

   循环体语句

}

(3)算法的时间复杂度:执行算法所需要的时间

(4)算法的空间复杂度:执行算法所需要的内存空间

2.break语句

终止循环(在循环体中若遇到该语句则终止循环,无论循环是否做完)

3.continue语句:结束本次循环

4.while循环:'当'循环

while(条件表达式){

  循环体语句;

}

(1)"条件表达式"的运算结果必须是Boolean型

5.do-while循环

do{

   循环体语句;

}while(条件表达式);

(1)'do'是关键字,必须和while结合使用,不能单独使用

(2)无论条件是否为true,循环体语句至少执行一次

6.循环嵌套:在一个循环内部再套一个或多个循环

var k=0;

for(var i=1;i<=10;i++){

for(var j=1;j<=10;j++){

   k++;

}

}

示例1:计算1+2+3+...+100

var sum = 0;

        var i;

        for(i=1;i<=100;i++){

            sum = sum + i;

        }

        console.log(sum)

示例2:计算100以内所有的偶数和、奇数和并输出

        var sum1 = 0;

        var sum2 = 0;

        var i;

        for(i=1;i<=100;i=i+2){

            sum1 = sum1 + i;

        }

        for(i=2;i<=100;i=i+2){

            sum2 = sum2 + i;

        }

        console.log(sum1)

        console.log(sum2)

示例3:判断输入的一个整数是否是素数

素数(质数):只能被1和它本身整除的数

        var n = parseInt(prompt('请输入一个数'));

        for(var i=2;i<n;i++){

            if(n%i == 0){

                break;

            }

        }

        if(i>=n){

            alert(n+'是素数')

        }else{

            alert(n+'不是素数')

        }

示例4:计算斐波拉契数列的前20项之和

      1  1  2  3  5  8 ...  

        var f1 = 1,f2 = 1, sum = f1 + f2,fn

        for(var i=1;i<=18;i++){

            fn = f1 + f2

            f1 = f2

            f2 = fn

            sum = sum + fn

        }

        console.log(sum)

示例5:输出100以内的所有素数

            for (var n = 1; n <= 100; n++) {

            for (var i = 2; i < n; i++) {

                if (n % i == 0) {

                    break;

                }

            } if (i >= n) {

                console.log(n)

            }

        }

二、数组

是内存中一块连续的存储单元

1.创建数组

(1)使用new Array():  var arr = new Array()

(2)使用字面量[]: var  arr = []

2.访问数组元素

是通过元素在数组中的索引

数组名[索引]

索引的取值范围:0~数组的长度减1

3.数组的属性

length  用来记录数组的长度,使用方法是:

数组名.length  

示例1:找出数组中的最大值

        var num = [45, 78, 32, 11, 56, 99, 27]

        var max = num[0]

        for (let i = 0; i < num.length; i++) {

            if (max < num[i]) {

                max = num[i]

            }

        }

        console.log('max=', max)

示例2:找出数组中大于等于10的元素,存放到新数组中

        var s=[0,1,5,0,12,6,8,9,45,5,78]

        var arr1 = []

        var j = 0

        for(var i=0;i<s.length;i++){

            if(s[i]>10){

                arr1[j] = s[i]

                j++

            }

        }

        console.log(arr1)

示例3:反转数组元素

引入新数组

        var arr = ['red','green','blue','pink','purple'];

        var newarr = []

        var j = 0

        for(var i=arr.length-1;i>=0;i--){

            newarr[j] = arr[i]

        }

        console.log(newarr)

使用原数组

        var arr = ['red', 'green', 'blue', 'pink', 'purple'];

        var i = 0

        var j = arr.length-1

        while(i<j){

            var temp = arr[i]

            arr[i] = arr[j]

            arr[j] = temp

            i++

            j--

        }

        console.log(arr)

示例4:删除数组中的0

创建新数组

var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]

        var newarr = []

        for (var i = 0; i < arr.length; i++) {

            if (arr[i] != 0) {

                newarr[newarr.length] = arr[i]

            }

        }

        console.log(newarr)

使用原数组

var arr = [2, 0, 6, 1, 77, 0, 52, 0, 25, 7]

        for(var i=0;i<=arr.length;i++){

            if(arr[i] == 0){

                for(var j=i;j<arr.length;j++){

                    arr[j] = arr[j+1]

               }

            }

        }

        console.log(arr)

三、简单的排序算法

1.冒泡排序

数据两两进行比较,若存在大小关系就进行交换

2.选择排序

每趟都是从当前无序的序列中找到最小数并记录其下标(索引);然后将当前无序序列的第一个元素和最小数进行交换

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值