首页 > 编程语言 > 详细

[JavaScript]的一些函数,数组和循环语句

时间:2021-05-16 19:13:09      阅读:21      评论:0      收藏:0      [点我收藏+]

 

函数

函数的使用
           声明函数
            语法:  ①function ②函数名 (③形参) {
                 ④函数体
            }


 

function getSum (a,b) {
                return a+b;
            }

 注:

  function  全部小写
            函数名 一般用是小驼峰命名法 如 getSum
            形参  实参   尽量做到匹配
            函数体 返回值

 


          函数调用
            函数名(实参)

 

            getSum (1,2);
            console.log(getSum (1,2));

 

 


 

  • 箭头函数

            设置一个参数
           

var fn1 = X => x + 2;

            设置2个参数
           

var fn2 = (x,y) => X + y;

 


 

 

  • 闭包函数

                指的是有权访问另一函数作用域内变量(局部变量)函数。

     两点用途如下:
           ① 可以在函数外部读取函数内部的变量
            ②可以让变量的值始终保持在内存中
            
            闭包常见创建方式就是在一个函数内部创建另一个函数
            通过另一个函数访问这个函数的局部变量,可以在函数外部读取函数内部的变量
        

   function fn () {
                var times =0;  //局部
                var c = function  () {
                    return ++times;
                }
                return c;
            }
            console.log(fn());
            
            var count = fn(); //保存fn()返回的函数,此时count就是一个闭包
            //访问测试
            console.log(count()); //输出结果1,
            console.log(count()); //输出结果2,
            console.log(count()); //输出结果3.
            console.log(count()); //输出结果4.
            console.log(count()); //输出结果5.

 


 

 

  • 回调函数

            简单理解,一共有两个函数,包括外层函数和回调函数
            forEach(), 对数组的每个元素执行一次提供的函数

     

var arr=[‘;8‘;,‘;7‘;,‘;5‘;,‘;3‘;];
            arr.forEach(function(value,index) {
                console.log(value,index);
            });

 


 

 

  • 嵌套函数

            指的是在一个函数内部存在另一个函数的生明
            作用域链:在内层函数执行过程中,若需要引入某个变量,首先会在当前作用域中寻找,若未找到,则继续上一层的作用域中寻找,直到全局作用域
           

var i=10;
            function fn1 () {
                var i=20;
                function fn2 () {
                    function fn3 () {
                        console.log(i);
                    }
                    fn3();
                }
                fn2();
            }
            fn1();

 


 

 

  • 递归函数

            指的是一个函数在其他函数体内调用自身的过程,这种过程称为递归函数
            只有在特定情况下使用
            已根据用户的输入计算指定数据的阶乘为例进行讲解
         

 function fn () {
                //1.必须有终止条件 return
                //2.必须有调用自身
            }

 

   定义递归函数

function factorial (n) { //定义函数
                if (n == 1) {
                    return 1; 
                }
                return n * factorial(n-1);
            }

 

阶乘 如: 3!=3*2*1=6
var n=prompt(‘求n的阶乘\n n是大于等于1的正常数,如2表示2!。‘);
            n=parseInt(n);
            if (isNaN(n)) {
                console.log(‘输入的n值不合法‘);
            } else{
                console.log(‘n+的阶乘为:‘+factorial(n));
            }

 

 

 



 

 

 

数组

  • 数组排序            reverse() 颠倒数组中的元素,会改变原数组,返回新数组
                               sort() 对数组中的元素进行排序,会改变原数组,返回新数组

例:

var arr=[‘red‘,‘green‘,‘blue‘];
    //反转数组
    console.log(arr);
    arr.reverse(); //倒序
    console.log(arr);
    arr.sort(); //sort排序始终是根据元素的unicode编码进行的
    console.log(arr);

 

  • 数字的排序

例:

var arr1=[13,4,88,1,7];
            console.log(arr1);
            arr1.sort(function (a,b) {
                //降序
                //return b-a;
                //升序
                return a-b;
            });
            console.log(arr1);

 

 

  • 数组的检测
var arr=[];
var obj=[];
  1. 第一种
    console.log(typeof arr);
    console.log(arr instanceof Array);
    console.log(obj instanceof Array);

     

  2. 第二种
    console.log(Array.isArray(arr));
    console.log(Array.isArray(obj));

     

  • 增加或删除数组元素

            push() 数组末尾添加一个或多个元素,会修改原数组
            unshift() 数组开头添加一个或多个元素,会修改原数组
            pop() 删除数组的最后一个元素
            shift() 删除数组的第一个元素

例:

 

var arr=[‘Rose‘,‘Lily‘];
            
            console.log(arr);
            console.log(arr.push(‘last‘));
            console.log(arr);
            arr.unshift(‘first‘);
            console.log(arr);
            console.log(arr.pop());
            console.log(arr);
            arr.shift();
            console.log(arr);
            

 

  • 冒泡排序

            冒泡排序算法:在冒泡排序的过程中,按照要求从小到大排序或从大到小排序,
            不断比较数组中相邻两个元素的值,较小或较大的元素前移。
            实现从小到大排序    

var arr = [98, 31, 5, 27, 2, 78]; // 待排序数组
                for (var i = 1; i < arr.length; i++) { // 控制需要比较的轮数
                    for (var j = 0; j < arr.length - i; j++) { // 控制参与比较的元素
                        if (arr[j] > arr[j + 1]) { // 比较相邻的两个元素
                            var temp = arr[j + 1];
                            arr[j + 1] = arr[j];
                            arr[j] = temp;
                            
                        }
                    }
                }
                console.log(arr); // 输出结果:2, 5, 27, 31, 78, 98

 



 

 

 

循环语句

 

  • for

                for(初始化变量;条件表达式;操作表达式){
                    循环体
                }
                
    如:         

 for(var i=1;i<=100;i++){
                    console.log(‘;i=‘;+i);
                }

 

  • while


                初始化变量
                while(条件表达式){
                    循环体
                    操作表达式
                }
                    

    var i=1;
                while(i<=100){
                    console.log(‘;i=‘;+i);
                    i++;
                }

 

  • do while

                 初始化变量
                  do{
                     循环体
                     操作表达式
                 }while(条件表达式)
                            

  var i=1;
                do{
                    console.log(‘;i=‘;+i);
                    i++;
                }while(i<=100)

 

 

 

[JavaScript]的一些函数,数组和循环语句

原文:https://www.cnblogs.com/xbdhmz/p/14773998.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!