本章目录

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

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

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

一、数组

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

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

①创建数组:

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

②获取,数组的值:

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

  输出结果:

③向数组中添加数据:

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

  输出:

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

  输出:20

④输出索引号

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

  输出结果:

二、函数

四要素:

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

强类型语言:

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

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

弱类型语言:

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

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

  带有参数的函数

  1. //这里的a是一个形参,假的参数(代号)
  2. function(a){
  3. alert(a);
  4. }
  5. Show("这是一个实参"); //实参,有真正值得参数
  6.  
  7. function Header(a,b){
  8. alert(a+","+b)
  9. }
  10. Header(a,b);  //输出两个参数的值
  11. //传两个参数

  有返回值得函数

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

三、递归 

 例题:桃子

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

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

例题:阶乘

  1. <script>
  2. var n =prompt("请输入:","");
  3. function Show(n){
  4. //我们知道当n!,n=1或0的的时候阶乘为1;
  5. if(n<1){
  6. return 1;
  7. }
  8. //n! = (n-1)*n
  9. else{
  10. return Show(n-1)*n;
  11. }
  12. }
  13. alert(Show(n));
  14. </script>

当输入6时获得的结果:

是正确的。

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

  1. <script>
  2. //一共10级楼梯,每次可以走一步或两步,求一共多少种走法。
  3. function Show(n){
  4. //第一阶有一种方法
  5. if(n==1){
  6. return 1;
  7. }
  8. //第二阶有两种方法:1+1 2
  9. else if(n==2){
  10. return 2;
  11. }
  12. //当前阶 = 上一阶的方法 + 前一阶的方法
  13. else{
  14. return Show(n-1)+Show(n-2);
  15. }
  16. }
  17. console.log(Show(10));
  18. </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. IIC_slaver 的仿真之路

    IIC_slaver 是网上下载的.testbench文件是自带的,出现如图错误. compile  >> compile  option  >> include direct ...

  2. OLAP了解与OLAP引擎——Mondrian入门

    一.  OLAP的基本概念 OLAP(On-Line Analysis Processing)在线分析处理是一种共享多维信息的快速分析技术:OLAP利用多维数据库技术使用户从不同角度观察数据:OLAP ...

  3. tp5 base64 图片上传

    /** * 保存图片 */ public function uploads($value='') { // $file = base64_decode(request()->file('imag ...

  4. 【leetcode】453. Minimum Moves to Equal Array Elements

    problem 453. Minimum Moves to Equal Array Elements 相当于把不等于最小值的数字都减到最小值所需要次数的累加和. solution1: class So ...

  5. 【leetcode】414. Third Maximum Number

    problem 414. Third Maximum Number solution 思路:用三个变量first, second, third来分别保存第一大.第二大和第三大的数,然后遍历数组. cl ...

  6. ie8网页时调用特定的css文件

    加上条件注释语句<!--[if IE 8]><link rel="".........................><![endif]--> ...

  7. Python搭建环境

    小白开启Python之门啦啦啦!!!!! 学习任何一种语言,第一步就是环境的搭建,小白python之旅开始啦!!!加油加油,抬头挺胸齐步走~~~ 目前大家开发系统主要是,windows.Mac OS ...

  8. centos7通过yum安装mysql,并授权远程连接 【转】

    http://blog.csdn.net/u012367513/article/details/40538267 用于备忘

  9. 《Netty in action》 读书笔记

    声明:这篇文章是记录读书过程中的知识点,并加以归纳总结,成文.文中图片.代码出自<Netty in action>. 1. 为什么用Netty? 每个框架的流行,都一定有它出众的地方.Ne ...

  10. paramiko模块(01-04节)、SSH

    1.  SSH(安全外壳协议) SSH 为 Secure Shell 的缩写,由 IETF 的网络小组(Network Working Group)所制定:SSH 为建立在应用层基础上的安全协议.SS ...