zoukankan      html  css  js  c++  java
  • 常用的函数及递归

    日期时间函数(需要用变量调用):
    var b = new Date(); //获取当前时间
    b.getTime() //获取时间戳,时间戳是一个自增的整数,表示从1970年1月1日零时整开始到现在的毫秒数
    b.getFullYear() //获取年份
    b.getMonth()+1; //获取月份,注意获取的月份是0~11,需要加1
    b.getDate() //获取天
    b.getHours() //获取小时
    b.getMinutes() //获取分钟
    b.getSeconds() //获取秒数
    b.getDay() //获取星期几
    b.getMilliseconds() //获取毫秒


    数学函数(用Math来调用):
    abs(x) 返回数的绝对值。
    ceil(x) 对数进行上舍入。  取大于本身的最小整数
    floor(x) 对数进行下舍入。   舍弃小数点后的
    round(x) 把数四舍五入为最接近的整数。
    max(x,y) 返回 x 和 y 中的最高值。
    min(x,y) 返回 x 和 y 中的最低值。
    pow(x,y) 返回 x 的 y 次幂。
    sqrt(x) 返回数的平方根。
    random() 返回 0 ~ 1 之间的随机数。 **** 取随机数是用时间戳为种子复杂计算出来的

    字符串函数(用变量来调用):

    indexOf
    返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。
    var index1 = a.indexOf("l");
    //index1 = 2

    charAt
    返回指定位置的字符。
    var get_char = a.charAt(0);
    //get_char = "h"

    lastIndexOf
    返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。
    var index1 = lastIndexOf('l');
    //index1 = 3


    match
    检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。
    var re = new RegExp(/^w+$/);
    var is_alpha1 = a.match(re);
    //is_alpha1 = "hello"
    var is_alpha2 = b.match(re);
    //is_alpha2 = null

    substring
    返回字符串的一个子串,传入参数是起始位置和结束位置。返回的字符串包括起始位置但是不包括结束位置!

    var sub_string2 = a.substring(1,4);
    //sub_string2 = "ell"

    substr ********
    返回字符串的一个子串,传入参数是起始位置和长度,长度不是必要的参数,如果不填长度则返回从指定的其实位置到最后的字符串
    var sub_string1 = a.substr(1);
    //sub_string1 = "ello"
    var sub_string2 = a.substr(1,4);
    //sub_string2 = "ello"

    replace *******
    替换字符串,第一个参数代表被替换的字符串,第二个参数代表替换的字符串,默认只能替换第一次出现的字符串,如果想要把出现的全部替换,要有全局标志g,例如 a.replace(/l/g,"*") 会输出 he**o
    a.replace("he","aa") 


    search
    执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。
    var index1 = a.search(re);
    //index1 = 0
    var index2 = b.search(re);
    //index2 = -1

    split ******
    通过将字符串划分成子串,将一个字符串做成一个字符串数组。
    var arr1 = a.split("");
    //arr1 = [h,e,l,l,o]

    length 属性 *******  这是属性,不是函数
    返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。


    toLowerCase 
    将整个字符串转成小写字母。
    var lower_string = a.toLowerCase(); 
    //lower_string = "hello"

    toUpperCase
    将整个字符串转成大写字母。
    var upper_string = a.toUpperCase(); 
    //upper_string = "HELLO"

    递归,可以简单的理解为函数自己调用自己,是解决很多复杂问题时的有效方法,我的理解是:可以递归的函数是有返回值的,而返回值的位置就是函数的调用位置,在函数体内调用函数本身,就是调用的函数占据了本应有值的位置,同时返回值可以理解成函数在实现完其功能后得出的结果,所以递归是功能的套用,但是套用不是无限的,需要有一个条件来判断递归是否回归。

      以兔子的繁殖为例,假设一对兔子出生两个月后就再可以繁殖一对兔子,以后每一个月繁殖一对,并且兔子都不死,现在有一对刚出生的兔子,一年以后会有多少兔子,

        从第二个月开始,

        当月的兔子=出生的兔子+上月的兔子  

        因为兔子两个月才可以繁殖,所以

        出生的兔子=两个月前的兔子,所以

        当月的兔子=前两个月的兔子之和

        建立函数

        
        function fanZhi(m)//建立一个函数,m为经过的月数
        {
            if(m==0)    //回归条件,开始时是一只兔子
            {
                return 1 ;
            }
            if(m==-1)    //回归条件,因为函数体中套用了两个不同的自己,每一个都要有回归的值,m=-1理解为兔子出生前一个月,这是没有兔子,就是0
            {
                return 0 ;
            }
            var zs = fanZhi(m-1)+fanZhi(m-2);//套用功能,当月的兔子=前两个月的兔子之和
            return zs ;  //套用完了不要忘了返回值,递归形成
        }

      

  • 相关阅读:
    ionic+cordova开发!
    npm安装出错的时候,如何使用国内的镜像!--解决办法
    wamp环境解决局域网不能访问的问题!
    flex弹性布局属性详解!
    JS判断当前是否是IE浏览器,并返回时IE几?
    thinkphp---手机访问切换模板!
    thinkCMF的使用!
    thinkphp5在集成环境目录访问权限问题
    微信小程序 --- 下拉刷新上拉加载
    jQuery --- 利用a标签的download属性下载文件!
  • 原文地址:https://www.cnblogs.com/zxbs12345/p/7977929.html
Copyright © 2011-2022 走看看