JS基础学习04

15. 冒泡排序

定义:冒泡排序就是讲数据从大到小或者从小到大排列的一种算法。

方法:通过循环语句来实现,具体实现方式为:逐个将数组中的值,依次和其后面的值进行比较,如果比较的结果满足一定的要求的话,则两者进行两两交换,直至循环结束完成排序。如:

冒泡排序,从小到大    [65,97,76,13,27,49,58]

    var arr = [65,97,76,13,27,49,58,1,12,26];
    var m ;

//方法一:
    for(var i = arr.length-1; i > 0;i--){
        for(var j = 0;j < i;j++){
            if(arr[j] > arr[j+1]){
                m = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = m;
            }
        }
    }
    console.log(arr);
    //方法二:
    for(var i = 0;i<arr.length-1;i++){
        for(var j = 0;j<arr.length-1-i;j++){
            if(arr[j] > arr[j+1]){
                m = arr[j];
                arr[j] = arr[j+1];
                arr[j+1] = m;
            }
        }
    }
    console.log(arr);

16. 函数

16.1 什么是函数

函数其实就是一段代码,一段被调用的时候执行,并且可以重复使用的代码块。

作用:把可以重用的代码提取成函数,把不可重用的部分当成参数传入函数。

函数的定义:(共有两种定义函数方式,暂时先说明其中一种)

使用函数声明的方式定义函数:

function 函数名(参数){

  函数体(需要执行的代码块);

  返回值;

}

函数声明以后,函数本身不会自动执行,需要我们通过“函数名()”的方法来进行调用。

函数的优势:一次声明或是定义,可以被重复调用。

16.2 函数的组成

函数的三要素:函数名、参数、返回值。

函数名:函数名的命名一般是一个动词,代表函数的功能。

参数:参数不是必须的,函数可以无参数。

返回值:返回值是每个函数都会有的,但是如果函数没有明确返回值的话,默认返回值是undefined。

函数的执行过程:我们通过“函数名()”的方法调用函数,函数将会将我们给的实参值赋值给函数中对应的形参(如果函数有参数要求的话),然后逐条执行函数内的语句,将执行完成后的结果返回给我们。其中我们提供给函数的数据就是参数,而函数最后返回给我们的数据就是返回值。

16.3 形参和实参的关系

形参:

如:function getSum(a,b,c){}, 在函数定义的时候,使用的参数叫做形参,起占位置和在函数内使用的作用。

实参:

如:getSum(10,20),在函数真正的调用的时候,传入的数据叫实参。

两者的关系:在JS中实参和形参的个数是可以不一样的。

16.4 ruturn的用法

在函数当中,return一般是用于返回函数当中的数据,如果return后面跟着数据,则返回后面的数据;如果return后面没有数据的话,则返回undefined。并且程序运行完return语句后,会立即跳出当前函数,后面的代码不在执行。

如:

function getSum(a,b){
    a = 100;
    return  a + b ; //将计算后的结果用关键字return返回出去
    console.log("看我执行了没有。。。。"); // return语句后直接跳出函数,后面的代码不再执行。
}
var num = getSum(a,b);

16.5 函数的嵌套

 函数的嵌套就是在一个函数中调用其他函数,而在这时语句执行的顺序严格按照从上而下逐条执行的原则执行。如:

function f1(){

            console.log("这是函数f1");

        }

        function f2(){

            console.log("这是函数f2");

            f1();

            console.log("这是函数f2");

        }

        f2();

显示结果为:

这是函数f2

这是函数f1

这是函数f2

函数f2()被调用时,先执行f2()中的第一条语句console.log("这是函数f2");,再执行第二句f1();,就是调用f1()函数,这时会跳转至f1()函数,执行f1()函数中的语句console.log("这是函数f1");,f1()函数执行完成后,重新回到刚才f2()函数,从调用f1()函数的下一条语句开始继续执行,直至f2()函数执行完成。

posted @ 2016-07-30 22:52  5毛钱小辣条  阅读(156)  评论(0编辑  收藏  举报