(2020-10-29)javascript二维数组和函数

知识梳理:

  • 二维数组

定义二维数组:

var arr=[[],[],[]];

初始化二维数组:

var arr=[
        [1,2,3],  
        [3,4,5,5],
        [6,7,8],
    ]

获取二维数组中所有的数据:for循环嵌套

for(var i=0;i<arr.length;i++){
        for(var j=0;j<arr[i].length;j++){
            console.log();
        }
    }
  • 函数

描述:函数就是重复执行的代码片。

什么是函数:把一段相对独立的具有特定功能的代码块封装起来,形成一个独立实体,就是函数,起个名字(函数名),在后续开发中可以反复调用。

函数的作用就是封装一段代码,将来可以重复使用。

函数的声明:

function 函数名(){
// 函数体
}

函数的表达式:

var fn = function() {
// 函数体
}

特点:函数声明的时候,函数体并不会执行,只要当函数被调用的时候才会执行。函数一般都用来干一件事情,需使用动词+名词,表示做一件事情tellstory,sayHello等。

函数的调用:

语法:

函数名();

特点:函数只有被调用的时候才能执行,调用需要用()进行调用,可以多次调用,也就是重复调用。

函数的参数:

语法:

// 函数内部是一个封闭的环境,可以通过参数的方式,把外部的值传递给函数内部
// 带参数的函数声明
function 函数名(形参1, 形参2, 形参...){
// 函数体
}
// 带参数的函数调用
函数名(实参1, 实参2, 实参3);

函数的参数为形参和实参:

形式参数在声明一个函数的时候,为了函数的功能更加灵活,有些值是固定不了的,对于这些固定不了的值。我们可以给函数设置参数。这个参数没有具体的值,仅仅起到一个占位置的作用,我们通常称之为形式参数,也叫形参。
实际参数如果函数在声明时,设置了形参,那么在函数调用的时候需要传入对应的参数,我们把传入的参数叫做实际参数,也叫实参。

案例展示:

var x = 5, y = 6;
fn(x,y);
function fn(a, b) {
console.log(a + b);
}
//x,y实参,有具体的值。函数执行的时候会把x,y复制一份给函数内部的a和b,函数内部的值是复制的新值,无法修改外部
的x,y

练习题:求1-n之间所有数的和

function jisuan(n){
             var sum=0;
             for(i=1;i<=n;i++){
                sum+=i;
             }
         console.log(sum);
         }
         jisuan(100);

求n-m之间所有数额和

function jisuan(n,m){
         var sum=0;
         for(i=n;i<=m;i++){
                 sum+=i
             }
         console.log(sum);
         }
         jisuan(1,100);

求2个数中的最大值

function max(n,m){
            if(n>m){
                console.log('第一个数大:'+n);
            }else if(m>n){
                console.log('第二个数大'+m);
            }else{
                console.log('两个数一样大'+n);
            }
        }
        max(1,2);

求3个数中的最大值

function max(a,b,c){
            if(a>b && a>c){
                console.log(a);
            }else if(b>a && b>c){
                console.log(b);
            }else if(c>a && c>b){
                console.log(c);
            }else{
                console.log(a);
            }
        }
        max(1,1,2);

判断一个数是否是素数

function zhishu(){
        var num = Number(prompt("请输入一个数,判断此数是不是素数")); 
        var count = 0;
            for( var i = 1 ; i <= num ; i++ ){
                if( num%i == 0 && num > 1){
                    count++;
                }
            }
            if( count == 2 ){
                document.write( num + "是素数" );
            }else{
                document.write( num + "不是素数" );
            }
        }
        zhishu();

函数的返回值:

描述:当函数执行完的时候,并不是所有时候都要把结果打印。我们期望函数给我一些反馈(比如计算的结果返回进行后续的运算),这个时候可以让函数返回一些东西。也就是返回值。函数通过return返回一个返回值。

语法:

//声明一个带返回值的函数
function 函数名(形参1, 形参2, 形参...){
//函数体
return 返回值;
}
//可以通过变量来接收这个返回值
var 变量 = 返回值

函数的调用结果就是返回值,因此我们可以直接对函数调用结果进行操作。

返回值详解:如果函数没有显示的使用return语句,那么函数有默认的返回值:undefined;如果函数使用return语句,那么跟在return后面的值,就成了函数的返回值;如果函数使用 return语句,但是return后面没有任何值,那么函数的返回值也是:undefined 函数使用return语句后,这个函数会在执行完 return 语句之后停止并立即退出,也就是说return后面的所有其他代码都不会再执行。

tips:推荐的做法是要么让函数始终都返回一个值,要么永远都不要返回值。

拓展练习:

求n的阶乘

function jichen(n){
            var sum=1;
            for(i=1;i<=n;i++){
                sum*=i;
                
            }
            console.log(sum);
        }
        jichen(3);

求1!+2!+3!+....+n!

function jiechen(n){
            var sun=1;
            var sum=0;
            for(i=1;i<=n;i++){
                sun*=i;
                sum+=sun;
            }
            console.log(sum);
        }
        jiechen(3);

求一组数中的最大值和最小值

function max(){
            var arr=[1,2,3,4,5];
            var mAx=arr[0];
            for(i=0;i<arr.length;i++){
                if(arr[i]>mAx){
                    mAx=arr[i];
                }
            }
            console.log(mAx);
        }
        max();
function min(){
            var arr=[1,2,3,4];
            var mIn=arr[0];
            for(i=0;i<arr.length;i++){
                if(mIn>arr[i]){
                    mIn=arr[i];
                }
            }
            console.log(mIn);
        }
        min();

 

©️2020 CSDN 皮肤主题: 数字20 设计师:CSDN官方博客 返回首页