JavaScript 数组、条件与循环

            0.JavaScript是一门面向过程的脚本式编程语言

                面向过程

                    三大特征:顺序、选择、循环

                面向对象

                    三大特征:封装、继承、多态

            1.JavaScript 数组Array

            描述:JavaScript数组是一种特殊的对象结构

                 是使用[]中括号定义的,中括号内部的数组结构使用逗号间隔的数据结构。

            语法:var arr = [value1, value2, ...];

            说明:

                1)数组当中用逗号间隔开的结构称之为【数组元素】,数组元素可以是任意数据类型

            名词:

                下标:数组中数组元素的序号,默认从0开始,由系统自动添加。

            例子:

                var arr1 = [100, "hello", false, undefined, null, {username:"frank"}];

                console.log(arr1);

            操作:

                读取

                    数组名[数组下标]

                写入(修改)

                    数组名[数组下标] = xxx;

            例子:

                var numArr = [100, 200, 300];

                console.log(numArr);

                console.log(numArr[1]);

                numArr[100] = 9999;

                console.log(numArr);

                console.log(numArr[35]);

            API:

                1)indexOf

                    描述:在数组中查找指定元素第一次出现的下标,并返回

                    语法array.indexOf(item)

                    说明:该方法不会修改原数组

                    例子:

                        var arr = [100, 200, 900, 400, 500, 300];

                        var result = arr.indexOf("hello");

                        console.log(result);

                        console.log(arr);

                2)push

                    描述:向数组的末尾添加一个或多个元素,并返回新数组的长度

                    语法:array.push(item1, item2, ...);

                    说明:该方法会改变原数组

                    例子:

                        var arr = [100, 200, 300];

                        console.log(arr);

                        var result = arr.push(400, 500, 600, '700');

                        console.log(arr);

                        console.log(result);

                3)concat

                    描述:concat() 方法用于连接两个或多个数组

                    语法:array1.concat(array2,array3,...,arrayX);

                    说明:该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本

                    例子:

                        var hege = ["Cecilie", "Lone"];

                        console.log(hege);

                        var stale = ["Emil", "Tobias", "Linus"];

                        var kai = ["Robin"];

                        var children = hege.concat(stale,kai);

                        console.log(hege);

                        console.log(children);

                4)  join

                    描述:把数组中的所有元素转换为一个字符串

                    语法:array.join(separator)

                    说明:元素是通过指定的分隔符进行分隔的(separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。)

                    例子:

                        var fruits = ["Banana", "Orange", "Apple", "Mango"];

                        var energy = fruits.join();

                5)lastIndexOf

                    描述:搜索数组中的元素,并返回它最后出现的位置

                    语法:array.lastIndexOf(item)

                    说明:该方法不会修改原数组

                    例子:

                        var arr = [100, 200, 900, 400, 500, 300, 200, 600];

                        console.log(arr);

                        var result = arr.lastIndexOf(200);

                        console.log(result);

                        console.log(arr);

                

                6)pop

                    描述:删除数组的最后一个元素并返回删除的元素

                    语法:array.pop()

                    说明:此方法改变数组的长度!

                    例子:

                        var fruits = ["Banana", "Orange", "Apple", "Mango"];

                        fruits.pop();

                7)shift

                    描述:用于把数组的第一个元素从其中删除,并返回第一个元素的值

                    语法:array.shift()

                    说明:此方法改变数组的长度!

                    例子:

                        var arr = [100, 200, 900, 400, 500, 300, 200, 600];

                        console.log(arr);

                        var result = arr.shift();

                        console.log(result);

                        console.log(arr);

                8)slice

                    描述:可从已有的数组中返回选定的元素

                    语法:array.slice(start, end)(start  end 可选)

                    说明:不会改变原始数组

                    例子:

                        var arr = [100, 200, 900, 400, 500, 300, 200, 600];

                        console.log(arr);

                        var result = arr.slice(2);

                        console.log(arr);

                        console.log(result);

                9)splice

                    描述:用于添加或删除数组中的元素

                    语法:array.splice(index,howmany,item1,.....,itemX)

                        index:必需。规定从何处添加/删除元素。该参数是开始插入和(或)删除的数组元素的下标,必须是数字。

                        howmany:可选。规定应该删除多少元素。必须是数字,但可以是 "0"。如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。

                        item1, ..., itemX:  可选。要添加到数组的新元素

                        说明:会改变原始数组

                    例子:

                        var fruits = ["Banana", "Orange", "Apple", "Mango"];

                        fruits.splice(2,0,"Lemon","Kiwi");

                10)unshift

                描述:向数组的开头添加一个或更多元素,并返回新的长度

                语法:array.unshift(item1,item2, ..., itemX)

                说明:将改变数组的数目

                例子:

                    var fruits = ["Banana", "Orange", "Apple", "Mango"];

                    fruits.unshift("Lemon","Pineapple");

            扩展:

                二维数组:如果数组的元素是一维数组,那么这个数组就称为二维数组

                eg:

                    var arr = [

                        [1,2,3],

                        [4,5,6],

                        [7,8,9]

                    ];

                    console.log(arr[1][2]);    

            

            2.分支(选择、选择结构、选择语句、分支结构、分支语句)

            描述:分支结构是指代码在执行的过程中不在遵守从上至下的执行顺序,

                  而是可以根据条件的逻辑值来决定如何执行

            语法:if(具有逻辑值的表达式){

                    当逻辑表达式的结果为true的时候,要执行的代码

                  }

            说明:

                1)如果逻辑表达式的结果为false,则整个if结构相当于不存在。

                   并且不会影响其下面的代码正常执行。

                2)如果逻辑表达式的结果为true,则正常执行代码

                   并且不会影响其下面的代码正常执行。

            例子:

                    var now = new Date();

                    var hour = now.getHours();

                    if(hour>=6&&hour<11){

                        console.log("现在是上午");

                    }

                    if(hour>=11&&hour<13){

                        console.log("现在是中午");

                    }

                    if(hour>=13&&hour<18){

                        console.log("现在是下午");

                    }

            演变:

                1)if-else结构

                描述:如果满足条件执行..,否则执行...

                语法:

                    if(具有逻辑值的表达式){

                        当逻辑表达式的结果为true的时候,要执行的代码

                    }else{

                        当逻辑表达式的结果为false的时候,要执行的代码

                    }

                作用:能够节约判断的次数,提升系统性能。

                例子:

                    var now = new Date();

                    var hour = now.getHours();

                    if(hour>=6&&hour<11){

                        console.log("现在是上午");

                    }else{

                        if(hour>=11&&hour<13){

                            console.log("现在是中午");

                        }else{

                            if(hour>=13&&hour<18){

                                console.log("现在是下午");

                            }else{

                                if(hour>=18&&hour<24){

                                    console.log("现在是夜晚");

                                }else{

                                    console.log("现在是凌晨");

                                }

                            }

                        }

                    }

                2)if else-if else结构

                描述:如果...否则如果...否则如果... ... 否则...

                语法:

                    if(具有逻辑值的表达式1){

                        当逻辑表达式的结果为1true的时候,要执行的代码

                    }else if(具有逻辑值的表达式2){

                        当逻辑表达式2的结果为true的时候,要执行的代码

                    }

                    ...

                    else{

                        当前面所有的逻辑表达式的结果都为false的时候,要执行的代码

                    }

                说明:

                    1)建议末尾的else写上,能够保证结构的完整性。

                    2)else语句不能像if一样单独存在,其总是会向上寻找距离最近的if构成if-else结构

                例子:

                    var now = new Date();

                    var hour = now.getHours();

                    if(hour>=6&&hour<11){

                        console.log("现在是上午");

                    }else if(hour>=11&&hour<13){

                        console.log("现在是中午");

                    }else if(hour>=13&&hour<18){

                        console.log("现在是下午");

                    }else if(hour>=18&&hour<24){

                        console.log("现在是夜晚");

                    }else{

                        console.log("现在是凌晨");

                    }

            3.循环for

            描述:能够通过规则,来规避书写大量冗余代码的结构

            语法:

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

                      需要重复执行的代码(循环体)

                  }

            说明:

                  1)循环存在三要素

                  2)表达式1:循环变量赋初值,循环从哪里开始。

                  3)表达式2:循环终止条件(循环得以继续执行的条件)

                  4)表达式3:循环变量向着终止条件的变化趋势。

            注意:

                  循环语法中的三个表达式理论上都可以不写

                  但如果不写,需要对应做出修改。

                  1)

                    表达式1可以不写,但如果不写,需要在循环外部为循环变量赋初值

                    eg:

                        var sum = 0;

                        var num = 1;

                        for(; num>100; num++){

                            sum += num;

                        }

                        console.log(sum);

                  2)

                    表达式2可以不写,但如果不写,需要在循环内部判断循环是否可以终止

                    eg:

                        var sum = 0;

                        for(var num=1; ; num++){

                            if(num>100){

                                break;

                            }

                            sum += num;

                        }

                        console.log(sum);

                  3)

                    表达式3可以不写,但如果不写,需要在循环内部让循环变量向着循环终止条件发生变化

                    eg:

                        var sum = 0;

                        var num = 1;

                        for(; num<=100; ){

                            sum += num;

                            num++;

                        }

                        console.log(sum);

            例子:

                求1~100的加和 高斯

                var sum = 0;

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

                    if(num%2==1){

                        sum += num;

                    }

               }

               console.log(sum);

        

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值