• 学习js第三天小结


    1.冒泡排序分析:

    例:将数组[9,8,7,6,5,4,3,2,1,0]按照从小打大的顺序进行冒泡排序。

    演变过程:

    第一趟:

         8,7,6,5,4,3,2,1,0,9    比较了9次;

    第二趟:

         7,6,5,4,3,2,1,0,8,9    比较了8次;

    第三趟:

         6,5,4,3,2,1,0,7,8,9    比较了7次;

    第四趟:

         5,4,3,2,1,0,6,7,8,9    比较了6次;

    第五趟:

         4,3,2,1,0,5,6,7,8,9    比较了5次;

    第六趟:

         3,2,1,0,4,5,6,7,8,9    比较了4次;

    第七趟:

         2,1,0,3,4,5,6,7,8,9    比较了3次;

    第八趟:

         1,0,2,3,4,5,6,7,8,9    比较了2次;

    第九趟:

         0,1,2,3,4,5,6,7,8,9    比较了1次;

    外层循环循环1次,内层循环9次。

    外层趟数一共是数组长度(array.length-1),设置外层循环for(var i=0;i<array.length-1;i++)

    内层比较次数随着外层趟数的增加而递减,但是比较的次数与外层的趟数的和为10即数组长度array.length.所以设内层循环为for(var j=0;j<array.length-1-i)  ----减去i是为了提升效率后面不需要再进行比较了(每次的比较次数都在递减)。

    实例:

         冒泡排序,从小到大    [65,97,76,13,27,49,58]
                var array=[65,97,76,13,27,49,58];
                for(var i=0;i<array.length-1;i++){
                    for(var j=0;j<array.length-1-i;j++){
                        if(array[j]>array[j+1]){
                            var temp=array[j];
                            array[j]=array[j+1];
                            array[j+1]=temp;
                        }
                    }
                }
                 console.log(array);
           //从大到小排序
            var array=[65,97,76,13,27,49,58];
            for(var i=0;i<array.length-1;i++){
                for(var j=0;j<array.length-1-i;j++){
                    if(array[j]<array[j+1]){
                        var temp=array[j];
                        array[j]=array[j+1];
                        array[j+1]=temp;
                    }
                }
            }
            console.log(array);

    2.函数

    函数:代码复用的一种机制或封装某种功能的代码段。

    函数的定义:

    function 函数名([参数列表]){

    函数体(都是可执行的或是要执行的代码);

    }

    函数名:一般是一个动词,代表某种功能,名字最好也要遵循驼峰命名法。

    函数的调用:   函数名();

    函数的好处:一次声明或定义,多次调用。

    函数的组成----三要素: 函数的三要素: 函数名(函数的功能),参数,返回值

    每一个函数都有返回值,如果没有明确的返回值,一般返回undefined。

    函数的形参与实参:

    在函数调用的时候,会将函数的实参复制一份传给形参之中,函数的形参与实参的个数是可以不一样的。

    var i= 0;
    function getSum(a,b,c){ // 在函数定义的时候,使用的参数叫做形参,起占位置的作用
        // arguments
        a = a || 0;
        b = b || 0;
        c = c || 0;
        console.log(a+b+c);
    }

    getSum(10,20);//在函数真正的调用的时候,传入的数据,才是实参

    函数里return的用法:

    Return一般返回的是函数之中的数据,return之后如果跟着的是数据,那么该数据就是整个函数最后的返回值。程序运行时会将这个值先返回出去,接着跳出当前函数,后面的代码就不再执行了。若是return之后没有数据,程序运行到此之后就会立刻跳出当前函数,之后的代码都不会再执行。

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

    函数的嵌套:一个函数里调用里一个函数。

    例:

    求3个数中的最大值
      function max(a,b){
               if(a>b){
                  return a ;
               }else{
                   return b;
               }

           }
             function max2(a,b,c){
    //             var d=max(a,b);
    //             var e=max(d,c);
                 var f=max(max(a,b),c);  //函数max2之中调用了max的函//数方法
    //             return e;
                 return f;
             }
             console.log(max2(4,8,10));
  • 相关阅读:
    asp.net core 操作误区
    asp.net core 通过ajax上传图片及wangEditor图片上传
    asp.net core 通过ajax调用后台方法(非api)
    使用 IIS 在 Windows 上托管 ASP.NET Core
    asp.net core 2.0 api ajax跨域问题
    【数据结构】算法 层数最深叶子节点的和 Deepest Leaves Sum
    【数据结构】算法 首个公共祖先 First Common Ancestor
    【数据结构】算法 Top K Frequent Words 前K个高频单词
    【数据结构】算法 Kth Largest Element in an Array 数组中的第K个最大元素
    【数据结构】算法 搜索旋转排序数组 Search in Rotated Sorted Array II
  • 原文地址:https://www.cnblogs.com/xinjianheyi/p/5721762.html
Copyright © 2020-2023  润新知