• JavaScript学习-3——数组、函数、递归


    本章目录

    -----------①数组

    -----------②函数

    -----------③递归

    一、数组

    弱类型:任何类型数据,且没有强度限制;

    强类型:同一类型的数据存储的集合(内存中连续存储),有长度限制。

    ①创建数组:

    //创建新数组
    var arr = new Array();
    //创建新数组并赋值
    var arr = new Array(1,2,3,4,5,6);

    ②获取,数组的值:

    var arr = new Array(1,2,3,4,5,6);
    //获取相应序列的值
    arr[0];
    //序列从0开始,最大为长度-1;
    alert(arr[1]);
    //获取到数组中序列为1的数据。
    

      输出结果:

    ③向数组中添加数据:

    var arr = new Array(1,2,3,4,5,6);
    arr[6]=10;
    	
    	document.write(arr[6]);
    

      输出:

    	var arr = new Array(1,2,3,4,5,6);
    		var d =20;
    		for(var i=0;i<arr.length;i++){
    				if(d==arr[i]){
    						break;
    				}
    				if(i==arr.length-1){
    						arr[i+1]=d;
    						document.write(arr[i+1]);
    				}
    		}
    		
    

      输出:20

    ④输出索引号

    var arr = new Array(1,2,3,4,5,6);
    	for(var a in arr){
    			document.write(a);
    	}
    

      输出结果:

     二、函数

    四要素:

    返回类型、函数名、参数列表、函数体

    强类型语言:

    int     NAME  (参数列表)  {  函数体  }

    类型      函数名  参数列表    函数体

    弱类型语言:

    function NAME(参数列表)  {函数体}

    //该函数封装完成后不是运行,需要调用
    Show();  //调用函数
    function Show(){ alert("这是一个简单的函数!!") }

      带有参数的函数

    //这里的a是一个形参,假的参数(代号)
    function(a){
            alert(a);
    }
    Show("这是一个实参");    //实参,有真正值得参数
    
    function Header(a,b){
            alert(a+","+b)
    }
    Header(a,b);  //输出两个参数的值
    //传两个参数
    

      有返回值得函数

    function Show(a,b){
            return(a+b);
    }
    var s =Show(1,2);
    alert(s);    // 返回3,
    

    三、递归 

     例题:桃子

    有一只猴子,每天吃一半桃子,扔一个坏的,第六天还剩一个,问一开始多少桃子?

    //前一天数量 = (当前数量+1)*2
    var sl =1;
    function Show(n){
            //给予第六天的桃子数量,使其只要6则传回1sl
            if(n==6){
                return sl;
                }
            else{
                 sl = (Show(n+1)+1)*2;
                 //计算公式:昨天的=[(今天天数+1)+1]*2
                    }
            return sl;
    }       
    alert(Show(1));        

     例题:阶乘

    <script>
        var n =prompt("请输入:","");
        function Show(n){
                //我们知道当n!,n=1或0的的时候阶乘为1;
                if(n<1){
                        return 1;
                }
                //n!  =  (n-1)*n
                else{
                        return Show(n-1)*n;
                }
        }
    alert(Show(n));
    </script>

    当输入6时获得的结果:

    是正确的。

    例题、一共10级楼梯,每次可以走一步或两步,求一共多少种走法。

    <script>
        //一共10级楼梯,每次可以走一步或两步,求一共多少种走法。
        function Show(n){
                //第一阶有一种方法
                if(n==1){
                        return 1;
                }
                //第二阶有两种方法:1+1    2
                else if(n==2){
                        return 2;
                }
                //当前阶 = 上一阶的方法 + 前一阶的方法
                else{
                        return Show(n-1)+Show(n-2);
                }
        }
        console.log(Show(10));
    </script>

    输出结果:

    正确

  • 相关阅读:
    换个格式输出整数
    c++入门构造函数
    接口继承与实现
    spring mvc 之@requestmapping
    RabbitMQ
    Socket通信原理
    TCP三次握手与四次挥手
    WIN 10家庭版没有Hyper-V
    aop 切面demo
    JVM之旅------jvm内存模型
  • 原文地址:https://www.cnblogs.com/wannian/p/8329404.html
Copyright © 2020-2023  润新知