函数基本概念和递归的用法

函数

1.//基本函数,学会调用函数:

how();//调用函数,在任意地方都可以调用
    //输出一句话
    function show()
    {
         alert("这是简单的函数");
     }
    show();//调用函数,在任意地方都可以调用

2.//有参数的函数

function show(a) //a叫做形参,形式参数
{
    alert(a);
}
    show("参数");//实参,实际参数

3.//有多个参数的函数

function sum(a,b)//形参的名字可以随便取
{
    alert(a+b);
}
    sum(1+2);//分别给a和b设置参数

4.//有返回值的函数

function sum(a,b)
{
    return a+b;//返回值a加上b
}
    var a=sum(3,4);//设置参数
    alert(a);
//JS里面函数经常用在的地方是事件
//其他语言函数用字封装功能上

重要几种的函数:

1.随机数生成器:Math.random()
2.random() 返回 0 ~ 1 之间的随机数
3.substr ********
返回字符串的一个子串,传入参数是起始位置和长度
4.replace *******
替换字符串,第一个参数代表被替换的字符串,第二个参数代表替换的字符串
5.split ******
通过将字符串划分成子串,将一个字符串做成一个字符串数组
6.length 属性 *******
返回字符串的长度,所谓字符串的长度是指其包含的字符的个数

递归!
1.公园里有200个桃子,猴子每天吃掉10个,挑出两个坏的扔掉,问6天后剩余的桃子数量?(先用循环做)

var sl=200//桃子的总数量
for(var i=0;i<6;i++)
{
    sl=sl-10-2;
}
    alert(sl);

2.公园里有一堆桃子,猴子每天吃掉一半,挑出一个坏的扔掉,第6天的时候发现还剩下1个桃子,问原来有多少个桃子?(用循环做)

var sl=0;
for(i=0;i<6;i++)
{
    sl=(sl+1)*2
}
    alert(sl);

3.使用函数求上述题目(递归)
//函数的功能:返回第n天的桃子数量
//利用函数本身的意义,使自身成为等式或者算数中的一个变量,参与运算!

var sl;//定义桃子的数量为sl
function shuliang(n)
{
    //当n等于6桃子的数量为1
    if(n==6)
    {
        sl=1;
    }
    else
    {
        //求当天的数量
        //当天的数量=(下一天的数量+1)*2
        sl=(shuliang(n+1)+1)*2;
    }
        return sl; //返回当天的数量
}
    alert(shuliang(0));
时间: 2024-10-26 01:16:14

函数基本概念和递归的用法的相关文章

回调函数以及钩子函数的概念

钩子实际上是一个处理消息的程序段,通过系统调用,把它挂入系统.每当特定的消息发出,在没有到达目的窗口前,钩子程序就先捕获该消息,亦即钩子函数先得到控制权.这时钩子函数即可以加工处理(改变)该消息,也可以不作处理而继续传递该消息,还可以强制结束消息的传递.对每种类型的钩子由系统来维护一个钩子链,最近安装的钩子放在链的开始,而最先安装的钩子放在最后,也就是后加入的先获得控制权.要实现Win32的系统钩子,必须调用SDK中的API函数SetWindowsHookEx来安装这个钩子函数,这个函数的原型是

函数的基本语法,递归

函数是什么? 函数一词来源于数学,但编程中的「函数」概念,与数学中的函数是有很大不同的,具体区别,我们后面会讲,编程中的函数在英文中也有很多不同的叫法.在BASIC中叫做subroutine(子过程或子程序),在Pascal中叫做procedure(过程)和function,在C中只有function,在Java里面叫做method. 定义: 函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 减少重复代码 使程序变的可扩展 使程序变得易维护

转 理解虚基类、虚函数与纯虚函数的概念

原文地址:理解虚基类.虚函数与纯虚函数的概念 引言 一直以来都没有写过一篇关于概念性的文章,因为我觉得这些概念性的东西书本上都有并且说的也很详细写来也无用,今天突发奇想想写 一写,下面就和大家讨论一下虚基类.虚函数与纯虚函数,一看名字就让人很容易觉得混乱.不过不要紧待看完本文后你就会理解了. 正文 虚基类        在说明其作用前先看一段代码 class A { public:     int iValue; }; class B:public A { public:     void bP

探索Split函数第三位参数的用法

Private Sub Form_Click() Dim c() As String c = Split("A,B,C,D,E", ",") For i = 0 To UBound(c) Print c(i) Next i End Sub 运行效果:A B C D E Private Sub Form_Click() Dim c() As String c = Split("A,B,C,D,E", ",", 1) For i

PHP有关函数的编程思想(递归与迭代)

PHP有关函数的编程思想(递归与迭代) 递归思想(递归函数): 递归思想的一个基本形式是:在一个函数中,有至少一条语句,会去调用该函数自身. 但是从代码角度来说,如果单纯是函数内部调用函数,则会出现"出不来"的现象. 则我们就必须再来解决下一个问题:怎么终止(停止)这种自身的调用 -- 找到递归函数的出口 案例分析:写一个递归函数,该函数可以计算一个正整数的阶乘 数学基础: A:1的阶乘是1 B:大于1的数的阶乘是这个数减1的数的阶乘,乘以该数的结果. 比如:要求6的阶乘:则定义一个函

理解虚基类、虚函数与纯虚函数的概念

总结 虚基类     1, 一个类可以在一个类族中既被用作虚基类,也被用作非虚基类.     2, 在派生类的对象中,同名的虚基类只产生一个虚基类子对象,而某个非虚基类产生各自的子对象.     3, 虚基类子对象是由最派生类的构造函数通过调用虚基类的构造函数进行初始化的.     4, 最派生类是指在继承结构中建立对象时所指定的类.     5, 派生类的构造函数的成员初始化列表中必须列出对虚基类构造函数的调用:如果未列出,则表示使用该虚基类的缺省构造函数.     6, 从虚基类直接或间接派

MIT公开课:计算机科学及编程导论 Python 笔记4 函数分解抽象与递归

Lecture4:Decomposition and abstraction through functions:introduction to recursion 函数分解抽象与递归 Functions 函数 block up into modules 分解为模块 suppress detail 忽略细节 create "new primitives" 创建原语的思考方式 w3school Python函数 #example code for finding square roots

条目二十八《正确理解由reverse_iterator的base()成员函数所产生的iterator的用法》

条目二十八<正确理解由reverse_iterator的base()成员函数所产生的iterator的用法> 迭代器的种类一共有四种,上面已经说过了.这里就不再次写出来. 这一个条目主要是reserce_iterator和iterator的转换.可以使用base()函数来把前者转换为后者. 比如在拥有reserve_iterator,但需要用到插入,删除成员函数,那么这两个是不接受reserve_iterator作为参数的,所以需要转换为iterator再进行下一步的插入和删除元素. 以上代码

【转】SQL:详解递归CTE,非递归CTE用法

公用表表达式(CTE)的定义 公用表达式的定义非常简单,只包含三部分: 公用表表达式的名字(在WITH之后) 所涉及的列名(可选) 一个SELECT语句(紧跟AS之后) 在MSDN中的原型: WITH expression_name [ ( column_name [,...n] ) ] AS ( CTE_query_definition ) 按照是否递归,可以将公用表(CTE)表达式分为递归公用表表达式和非递归公用表表达式. 非递归公用表表达式(CTE) 非递归公用表表达式(CTE)是查询结果