解读JavaScript中 For, While与递归的用法


Posted in Javascript onMay 07, 2013

for循环:

for(i=start; i<end; i++) {
}

while循环: (注意, 若条件一直为真, 则会进入死循环, 浏览器就hang掉)
while (condition) {
     //do something;
     //change condition;
}

递归:使用for循环做substring
function substring(all, start, end) {
    for(i=start; i<=end; i++) {
         console.log(all[i]);
    }
substring("eclipse", 1, 4);   //clip

使用递归实现substring
function substring(all, start, end) {
    if(start >= end) {
        return all[start];
    }
    else {
        return all[start] + substring(all, start+1, end);
    }
substring("eclipse", 1, 4);    //clip

使用for循环访问对象属性:

对于数组,字符串, 我们使用index []访问特定的值; 对于对象,也是一样使用[], 但我们会使用一个特殊的变量: propertyName

var person = {
    name: "Morgan Jones",
    telephone: "(650) 777 - 7777",
    email: "morgan.jones@example.com"
};
for (var propertyName in person) {
    console.log(propertyName + ":"+ person[propertyName]);
}

使用for循环, 查找数组内的数据:
var table = [
    ["Person",  "Age",  "City"],
    ["Sue",     22,     "San Francisco"],
    ["Joe",     45,     "Halifax"]
];
var i;
var rows=table.length;
for (r=0;r<rows;r++) {
    var c;
    var cells = table[r].length;
    var rowText = "";
    for (c=0;c<cells;c++) {
        rowText += table[r][c];
        if (c < cells-1) {
            rowText += "  ";
        }
    }
    console.log(rowText);
}

结果:
Person Age City

Sue 22 San Francisco

Joe 45 Halifax

--------------------------------------------------------------------------------

break:

使用break立刻退出循环, 适用于for和while循环.

Javascript 相关文章推荐
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
javascript 数组学习资料收集
Apr 11 Javascript
js中判断对象是否为空的三种实现方法
Dec 23 Javascript
JavaScript中Number.NEGATIVE_INFINITY值的使用详解
Jun 05 Javascript
JavaScript框架是什么?怎样才能叫做框架?
Jul 01 Javascript
JQuery实现鼠标滚轮滑动到页面节点
Jul 28 Javascript
javascript 内置对象及常见API详细介绍
Nov 01 Javascript
解决vue-cli项目webpack打包后iconfont文件路径的问题
Sep 01 Javascript
Vue源码解析之数组变异的实现
Dec 04 Javascript
js实现图片放大并跟随鼠标移动特效
Jan 18 Javascript
关于Node.js中频繁修改代码重启服务器的问题
Oct 15 Javascript
小程序实现左滑删除的效果的实例代码
Oct 19 Javascript
JS Pro-深入面向对象的程序设计之继承的详解
May 07 #Javascript
基于JavaScript实现继承机制之原型链(prototype chaining)的详解
May 07 #Javascript
基于JavaScript实现继承机制之构造函数+原型链混合方式的使用详解
May 07 #Javascript
使用javascript:将其它类型值转换成布尔类型值的解决方法详解
May 07 #Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 #Javascript
基于IE下ul li 互相嵌套时的bug,排查,解决过程以及心得介绍
May 07 #Javascript
解决javascript:window.close()在chrome,Firefox下失效的问题
May 07 #Javascript
You might like
PHP初学者头疼问题总结
2006/07/08 PHP
基于Snoopy的PHP近似完美获取网站编码的代码
2011/10/23 PHP
用穿越火线快速入门php面向对象
2012/02/22 PHP
PHP输出XML到页面的3种方法详解
2013/06/06 PHP
php+ajax实现无刷新分页
2015/11/18 PHP
JavaScipt基本教程之JavaScript语言的基础
2008/01/16 Javascript
JS实现带有抽屉效果的产品类网站多级导航菜单代码
2015/09/15 Javascript
jQuery+ajax+asp.net获取Json值的方法
2016/06/08 Javascript
概述jQuery的元素筛选
2016/11/23 Javascript
解决同一页面中两个iframe互相调用jquery,js函数的方法
2016/12/12 Javascript
nodejs redis 发布订阅机制封装实现方法及实例代码
2016/12/15 NodeJs
JS库之wow.js使用方法
2017/09/14 Javascript
vue中前进刷新、后退缓存用户浏览数据和浏览位置的实例讲解
2018/09/21 Javascript
微信小程序使用npm支持踩坑
2018/11/07 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
VSCode搭建Vue项目的方法
2020/04/30 Javascript
详解ES6 中的Object.assign()的用法实例代码
2021/01/11 Javascript
[03:01]2014DOTA2国际邀请赛 DC:我是核弹粉,为Burning和国土祝福
2014/07/13 DOTA
python使用cookielib库示例分享
2014/03/03 Python
使用DataFrame删除行和列的实例讲解
2018/04/08 Python
Sanic框架蓝图用法实例分析
2018/07/17 Python
pandas去重复行并分类汇总的实现方法
2019/01/29 Python
Python小进度条显示代码
2019/03/05 Python
python pandas时序处理相关功能详解
2019/07/03 Python
django 自定义filter 判断if var in list的例子
2019/08/20 Python
基于python plotly交互式图表大全
2019/12/07 Python
浅析关于Keras的安装(pycharm)和初步理解
2020/10/23 Python
Python ellipsis 的用法详解
2020/11/20 Python
服装公司总经理岗位职责
2013/11/30 职场文书
老公保证书范文
2014/04/29 职场文书
煤矿安全承诺书
2014/05/22 职场文书
小学捐书活动总结
2014/07/05 职场文书
大学活动总结模板
2014/07/10 职场文书
公司管理建议书
2015/09/14 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
Python MNIST手写体识别详解与试练
2021/11/07 Python