本章目录
-----------①数组
-----------②函数
-----------③递归
一、数组
弱类型:任何类型数据,且没有强度限制;
强类型:同一类型的数据存储的集合(内存中连续存储),有长度限制。
①创建数组:
//创建新数组
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>
输出结果:
正确