本章目录

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

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

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

一、数组

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

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

①创建数组:

//创建新数组
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>

输出结果:

正确

JavaScript学习-3——数组、函数、递归的更多相关文章

  1. JavaScript学习03 JS函数

    JavaScript学习03 JS函数 函数就是包裹在花括号中的代码块,前面使用了关键词function: function functionName() { 这里是要执行的代码 } 函数参数 函数的 ...

  2. javascript学习总结之函数

    前言 在学习javascript函数的时候,有几个经常很容易混淆的方法,call,apply,bind,caller,callee,这些方法的使用,这些也可以说是会频繁使用的一些方法,在此通过查阅相关 ...

  3. javascript之Array()数组函数讲解

    Array()是一个用来构建数组的内建构造器函数.数组主要由如下三种创建方式: array = new Array() array = new Array([size]) array = new Ar ...

  4. 廖雪峰 JavaScript 学习笔记(函数)

    JavaScript中,定义函数的方式如下: function abs(x) { if (x >= 0) { return x; } else { return -x; } } 上述abs()函 ...

  5. 【JavaScript学习笔记】函数、数组、日期

    一.函数 一个函数应该只返回一种类型的值. 函数中有一个默认的数组变量arguments,存储着传入函数的所有参数. 为了使用函数参数方便,建议给参数起个名字. function fun1(obj, ...

  6. javascript学习笔记--迭代函数

    概要 这里的迭代函数指的是对数组对象的操作方法,js数组共有五个迭代函数:every.fifter.forEach.map.some. 1.every every方法,返回值为Boolean类型,tr ...

  7. 04 Javascript的数据类型 数组 函数

    javascript:包含ECMAscript DOM BOM 描述了以下内容: 语法 类型 语句 关键字 保留字 运算符 对象 引入方式: <script> alert(123) < ...

  8. Javascript 学习之数组 Array

    数组在Javascript中占有很重要的地位.任何控件开发离不开数组的使用. 构造函数 new Array( ) new Array(size) new Array(element0, element ...

  9. JavaScript学习03(函数)

    函数 函数定义 JavaScript 函数是通过 function 关键词定义的. 声明定义 function functionName(parameters) { 要执行的代码 } 被声明的函数不会 ...

随机推荐

  1. Neo4j图数据库使用

    最近在处理一些图的数据,主要是有向图,如果图的节点不是特别大可以直接加载到内存里来处理,但是当图的节点个数特别大时,内存就放不下了:我 们牵涉到的图的节点数最大可以达到数亿个节点,已经超出的机器内存的 ...

  2. oracle 汉字转拼音

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) 效果如下: Oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 Sql代码 --oracle汉字转拼音 PACKAGE ...

  3. Bitmap RGB24 4字节对齐

    Bitmap RGB24 4字节对齐 本文中说的图片都是无压缩的彩色Bitmap图片. 最近在一个项目中有一个场景是需要将RGB32或RGB24的Bitmap转换成为RGB565的Bitmap,在RG ...

  4. 指向函数的指针 ------ 函数指针(function pointer)

    函数指针: 指向函数的指针, 首先是一个指针, 这个指针指向一个函数. 函数具有可赋值给指针的物理内存地址,一个函数的函数名就是一个指针,它指向函数的代码.一个函数的地址是该函数的进入点,也是调用函数 ...

  5. PHP面试题学习

    PHP 开发工程师笔试试卷 姓名 :__________ 第一部分为必答题,第二.三部分任选其一回答 一. PHP 开发部分 1.合并两个数组有几种方式,试比较它们的异同. 2.请写一个函数来检查用户 ...

  6. Appium介绍及工作原理

    一.Appium介绍 Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及FirefoxOS平台.Appium使用WebDriver的 ...

  7. .Net调用Java带验证的WebService解决方法

    最近遇到了一个问题,需要通过验证用户名.密码去调用对方Java给出的WebService接口. 搜索了很多资料,没想到最终很简单就完了.... (捂脸 第一步:添加web引用 第二步:进行验证,并完成 ...

  8. Go Example--格式化字符串

    package main import ( "fmt" "os" ) type point struct { x, y int } func main() { ...

  9. Vue组件的介绍与使用

    组件系统是将一个大型的界面切分成一个一个更小的可控单元. 组件是可复用的,可维护的. 组件具有强大的封装性,易于使用. 大型应用中,组件与组件之间交互是可以解耦操作的. 全局组件的使用 <!DO ...

  10. 我发起了一个 操作系统 GUI 和 Tcp / IP 包 的 开源项目 DeviceOS

    操作系统 如果 不需要 处理 复杂多样 的 硬件 兼容性, 其实 并不算 大项目, 可以算 毕业设计 . 但是, GUI 和 Tcp / IP  这两个 部分 的 实现逻辑 很多 很复杂,  这  2 ...