JavaScript的分支结构,循环结构,以及函数的定义使用,数组

JS分支结构

if语句

同java

  • if

  • if…else

  • if…else…if

     //案例:判断输入密码长度 
    let pwd = prompt("请输入密码");
        let L = pwd.length;
        if(L<6){
            alert("密码小于六位");
        }else if(L>=6 && L<16){
            alert("密码大于6位小于16位");
        }else if(L>=16){
            alert("密码大于16位");
        }
    
switch语句

同java:switch…case

var id = 1;
switch(id){
  case 1:
     console.log("普通会员");
     break; //停⽌执⾏,跳出switch
  case 2:
     console.log("VIP会员");
     break; //停⽌执⾏,跳出switch
  case 3:
     console.log("管理员");
     break; //停⽌执⾏,跳出switch
  default: //上述条件都不满⾜时,默认执⾏的代码
     console.log("游客");
}

JS函数的定义和使用

function函数是被设计为执⾏特定任务的代码块,可以重复使用,除内置函数外还可以自定义函数,在需要的地方调用函数,避免重复编写,有理由代码的后期维护

函数定义
  • JavaScript中函数声明要以 function 关键字开头,之后为要创建的函数名称, function 关键字必须为⼩写

  • function 关键字和函数名称之间⽤空格分开

  • 参数个数可以是任意个

    当参数给默认值,调用时没传参,就会用默认值作为参数

  • {}中写函数体

语法格式

function 函数名(参数){
    //函数体
}
  1. 无参函数

    参数个数为0;

    function sayHi(){
        console.log("hello,Everybody~");
    }
    
  2. 有参函数

    参数个数不为0

    function sayHi(str){
        console.log(str);
    }
    
    sayHi("Hello");  //调用传参
    
函数返回值
  • 当函数执⾏完的时候,很多时候并不⼀定要将结果打印出来,⽽是希望函数会返回⼀个结果值(⽐如计算的结果返回后进⾏后续的计算),返回的这个结果值就称为“返回值”
  • 在函数中通过 return 返回⼀个返回值
  • 返回值可以是任何类型,⽐如字符串、数字、数组、对象等
  • 返回的结果可以直接打印,或者使⽤⼀个变量来接受这个函数的返回值
函数表达式

另外⼀种声明函数的形式

关键字 变量名(函数名) = function(参数){
    //函数体
}
//示例
var getSum = function(num1,num2){
    var sum = num1+num2;
    return sum;
}
 console.log(getSum(10,20)) ;
匿名函数

就是没有名字的函数

  1. 如果只写⼀个匿名函数,不符合语法要求会报错,所以需要给匿名函数包裹⼀个 () 使之成为表达式

  2. 被⼩括号包裹起来的内容会被js识别为表达式

    //方法一
    (function(){
        alert("富强民主文明和谐");
    })();
    
    //方法二
    (function(){
        alert("自由平等公正法制");
    }());
    
函数作用域
  1. 局部作用域
    • 函数运⾏时,在函数内部形成了 局部作⽤域 ,在局部作⽤域中定义的变量叫做局部变量
    • 函数运⾏结束时局部变量会⾃动销毁
    • 函数内部可以可以访问函数外部的变量,函数外部不能访问内部的变量
  2. 全局作用域
    • 全局作⽤域指的是window,即当前窗⼝,window定义下的变量叫做全局变量
    • 全局变量在当前⽂档中有效
var num = 1;
function fun(){
    var num = 2;
    console.log("控制台中的num"+num);  //输出2
}
fun(); 
alert("弹框中的num"+num);             //输出1
===================================================
{
  var name1 = "成龙";   //var函数作用域
  let name2 = "小钰";   //let块级作用域
}
console.log(name1);   //输出成龙
console.log(name2);   //报错

JS数组创建

构造函数创造数组

可以使⽤ Array对象 来定义数组

  • values 表示数组中各个元素组成的列表
  • 多个元素之间⽤逗号 , 隔开
  • 如果只提供⼀个参数,那么这个数组表示数组的初始⻓度
var arr = new Array("大头儿子","小头爸爸","围裙妈妈");
 console.log(arr);
字面量创造数组

直接使⽤ [] 来定义数组

var arr = ["虹猫蓝兔七侠传","成龙历险记","神厨小福贵","神兵小将"];

JS循环

与JAVA中相同

while循环

while 循环适合在未知条件时使⽤

while(循环条件){
 //代码内容
}
do while循环

先执行后判断

do{
    //代码内容
}while(循环条件);
for 循环

适合在已知循环次数时使用

四个条件:初始值(只执行一次) 循环条件 条件迭代 循环语句

for(var i =1;i<10;i++){
    document.write(i+" ");
}
break

终止循环

continue

跳出当前循环,不影响下一次循环

for in 循环

for in 循环 是普通for循环的变体,主要⽤来遍历对象,可以将对象中的 属性 依次循环出来

for(variable in Object){
    //执行代码
}
  • variable是一个变量,每次循环时这个变量都会被赋予不同的值,可以在 {} 中使⽤变量进⾏⼀系列操作

  • Object 是要遍历的对象,每次循环中,会将 Object

    对象中的每⼀个属性的键赋值给变量 variable ,直到对象中的所有属性都遍历完。

for of 循环
  1. for of循环 是ES6中新增的⼀种循环⽅式,与 for in 类似,也是普通for循环的⼀种变体。
  2. 使⽤ for of 循环 可以遍历数组或其他可遍历的对象,如:字符串、对象等。
for(variable of iterable){
    //执行代码
}
  • variable 是⼀个变量,每次循环时变量会被赋予不同的值,我们可以在后⾯的 {} 中使⽤这个变量进⾏⼀系列操作
  • iterable 是要遍历的内容,每次循环中,会将 iterable 中的⼀个值赋予给变量 varible ,直到 iterable 中的所有值都遍历完

JS数组的方法

  1. isArray():判断是否为数组
  2. concat() :拼接两个或更多的数组,并返回结果
  3. pop():删除数组的最后⼀个元素并返回删除的元素
  4. push():向数组的末尾添加⼀个或更多的元素,并返回数组的⻓度
  5. shift():删除并返回数组的第⼀个元素
  6. unshift():向数组的开头添加⼀个或多个元素,并返回数组的⻓度
  7. index0f():搜索数组中的元素,并返回它所在的位置
  8. splice():⽤于添加或删除数组中的元素
  9. forEach() :数组每个元素都执⾏⼀次回调函数
  10. map():通过指定函数处理数组的每个元素,并返回处理后的数组

注意

  1. map速度比foreach快
  2. map会返回⼀个新数组,不会对原数组产⽣影响;foreach不会返回新数组,返回的是undefined
let arr = ["神厨小福贵","成龙历险记","神兵小将","哪吒传奇","虹猫蓝兔七侠传"];
    let arr1 = [1,2,3,4,5];
    let arr2 = ["存折","宇将军"];
    
    // let result = Array.isArray(a);
    // let result = arr.pop();
    // let result = arr.push("洛洛历险记");
    // let result = arr.shift();
    // let result = arr.unshift("果宝特攻");
    // let result = arr.indexOf("成龙历险记")
    // let result = arr.indexOf("小鲤鱼历险记")
    // let result = arr.concat(arr1);
    // let result = arr1.concat(arr);
    // let result = arr.concat(arr1,arr2);  //多个字符串拼接
    // let result = arr.splice(1,1);
    // let result = arr.splice(2);
    // let result = arr.splice(1,1,"香奈儿");
    // let result = arr.splice(1,1,"古驰","祖马龙");
    
    // console.log(result);
    // console.log(arr);


    // let result = arr.forEach(
    //     function(value , index, oldarr){
    //         // console.log(value+"==="+index+"==="+oldarr);
    //         return value,index,oldarr;
    //     }
        
    // )

    // let result = arr.map(
    //     function(value,index,oldarr){
    //         // console.log(value+"==="+index+"==="+oldarr);
    //         return value,index,oldarr;
    //     }
    // )
    console.log(result);

你可能感兴趣的:(JavaScript,javascript,开发语言,ecmascript)