1.递归函数的使用:

公园里有一堆桃子,猴子每天吃掉一半,挑出一个坏的扔掉,第6天的时候发现还剩1个桃子,问原来有多少个桃子

var peache;
function peaches(n) {
if (n == 6) {
peache = 1;
}
else {
peache = (peaches(n + 1) + 1) * 2;
}
return peache;
}
console.log(peaches(0));

es6 写法

let peaches = n => n <  ? ( peaches( n +  ) +  ) *  :
peaches()

2.常用函数

日期时间函数(需要用变量调用):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
var b = new Date(); //获取当前时间
 
b.getTime() //获取时间戳
 
b.getFullYear() //获取年份
 
b.getMonth()+1; //获取月份
 
b.getDate() //获取天
 
b.getHours() //获取小时
 
b.getMinutes() //获取分钟
 
b.getSeconds() //获取秒数
 
b.getDay() //获取星期几
 
b.getMilliseconds() //获取毫秒

  

数学函数(用Math来调用),例: alert(Math.abs(-3))

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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 之间的随机数。

  

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

1
2
3
4
5
6
7
var a="ssdlld";
 
var index1 = a. indexOf("l");
 
alert(index1);

  

indexOf

返回字符串中一个子串第一处出现的索引(从左到右搜索)。如果没有匹配项,返回 -1 。

1
var index1 = a.indexOf("l");

index1 = 2

charAt

返回指定位置的字符。

1
var get_char = a.charAt(0);

get_char = "h"

lastIndexOf

返回字符串中一个子串最后一处出现的索引(从右到左搜索),如果没有匹配项,返回 -1 。

1
var index1 = lastIndexOf('l');

index1 = 3

match

检查一个字符串匹配一个正则表达式内容,如果么有匹配返回 null。

1
2
3
var re = new RegExp(/^\w+$/);
 
var is_alpha1 = a.match(re);

is_alpha1 = "hello"

1
var is_alpha2 = b.match(re);

is_alpha2 = null

substring

返回字符串的一个子串,传入参数是起始位置和结束位置。

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

sub_string2 = "ell"

substr

返回字符串的一个子串,传入参数是起始位置和长度

1
var sub_string1 = a.substr(1);

sub_string1 = "ello"

1
var sub_string2 = a.substr(1,4);

sub_string2 = "ello"

replace

替换字符串,第一个参数代表被替换的字符串,第二个参数代表替换的字符串

1
a.replace("he","aa")

  

search

执行一个正则表达式匹配查找。如果查找成功,返回字符串中匹配的索引值。否则返回 -1 。

1
var index1 = a.search(re);

index1 = 0

1
var index2 = b.search(re);

index2 = -1

split

通过将字符串划分成子串,将一个字符串做成一个字符串数组。

1
var arr1 = a.split("");

arr1 = [h,e,l,l,o]

length 属性

返回字符串的长度,所谓字符串的长度是指其包含的字符的个数。

toLowerCase

将整个字符串转成小写字母。

1
var lower_string = a.toLowerCase();

lower_string = "hello"

toUpperCase

将整个字符串转成大写字母。

1
var upper_string = a.toUpperCase();

upper_string = "HELLO"

参考:http://www.cnblogs.com/cyrfr/p/6044553.html

js 递归函数的使用及常用函数的更多相关文章

  1. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  2. 总结js常用函数和常用技巧(持续更新)

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  3. 我自己的Javascript 库,封装了一些常用函数 Kingwell.js

    我自己的Javascript 库,封装了一些常用函数 Kingwell.js 博客分类: Javascript javascript 库javascript库  现在Javascript库海量,流行的 ...

  4. js 正则常用函数 会正则得永生

    正则表达式作为一种匹配处理字符串的利器在很多语言中都得到了广泛实现和应用,web开发本质上是处理字符串(服务端接受请求处理后拼接字符串作为响应,这在早期的CGI编程中最明显,然后客户端解析字符串进行渲 ...

  5. 转战JS(1) 初探与变量类型、运算符、常用函数与转换

    转战JS(1)初探与变量类型.运算符.常用函数与转换 做为一名.NET后台开发人员,正考滤向Web前端开发转型,之前也写过一代前端代码,可是当再回头看JS,并有转向它的意愿的时候,突然发现:原来JS不 ...

  6. js常用函数和常用技巧

    学习和工作的过程中总结的干货,包括常用函数.常用js技巧.常用正则表达式.git笔记等.为刚接触前端的童鞋们提供一个简单的查询的途径,也以此来缅怀我的前端学习之路. PS:此文档,我会持续更新. Aj ...

  7. ecshop里提出来的js常用函数

    目录 Utils.js jquery.listTable.js 使用例子: ecshop里提出来的js常用函数 Utils.js /* $Id : utils.js 5052 2007-02-03 1 ...

  8. js进阶 13-6 jquery动画效果相关常用函数有哪些

    js进阶 13-6 jquery动画效果相关常用函数有哪些 一.总结 一句话总结:animate(),stop(),finish(),delat()四个. 1.stop()方法的基本用法是什么(sto ...

  9. JavaScript的使用以及JS常用函数(JS 遍历数组和集合)

    JavaScript入门 学习总结 1. 什么是 JavaScript 2. JavaScript 的特点 3. JS的使用 编写位置 基本语法 变量 打印变量 数据类型 innerHTML和inne ...

随机推荐

  1. Google研究人员宣布完成全球首例SHA-1哈希碰撞!

    2004年的国际密码讨论年会(CRYPTO)尾声,我国密码学家王小云及其研究同事展示了MD5.SHA-0及其他相关杂凑函数的杂凑碰撞并给出了实例.时隔13年之后,来自Google的研究人员宣布完成第一 ...

  2. Animate.css 一款牛逼的css3动画库

    Animate.css是一款很牛逼的,跨浏览器的css3动画库,使用方法也很简单只要引入一个animate.min.css就可以了, 简单使用 1 首先引入 animate的 css 文件样式 cdn ...

  3. 使用php下载的文件打不开,自己用着没问题,客户用就不行?

    1 现象: 开发的时候用的好好的文件下载功能,部署到客户那边就不好使了,几乎所有从服务器下载下来的文件都不能打开. 比较了上传前的文件.上传后服务器端的文件.下载后本机的文件,发现同一个文件,上传后还 ...

  4. jQuery圣诞雪花

    <script type="text/javascript"> $(function(){ var d="<div class='y_snow'> ...

  5. 一篇文章读懂Java类加载器

    Java类加载器算是一个老生常谈的问题,大多Java工程师也都对其中的知识点倒背如流,最近在看源码的时候发现有一些细节的地方理解还是比较模糊,正好写一篇文章梳理一下. 关于Java类加载器的知识,网上 ...

  6. 最近完成的AndroidStudio项目实现思路及应用技术

    主要内容: Android Studio的介绍 AS中个Gradle及Groovy介绍 AS中的依赖管理 Maven以及Nexus私库管理依赖 Gradle对变种代码的管理以及多渠道打包 eclips ...

  7. Vue双向数据绑定原理解析

    基本原理 Vue.采用数据劫持结合发布者-订阅者模式的方式,通过Object.defineProperty()来劫持各个属性的setter和getter,数据变动时发布消息给订阅者,触发相应函数的回调 ...

  8. java多线程设计模式

    详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcyt220 java多线程设计模式 java语言已经内置了多线程支持,所有实现Ru ...

  9. Android微信登录、分享、支付

    转载需要著名出处: http://blog.csdn.net/lowprofile_coding/article/details/78004224 之前写过微信登录分享支付第一版: http://bl ...

  10. CCIE-MPLS基础篇-实验手册

    又一部前期JUSTECH(南京捷式泰)工程师职业发展系列丛书完整拷贝. MPLS(Multi-Protocol Label Switching) 目录 1:MPLS 基础实验.... 1.1实验拓扑. ...