解读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 相关文章推荐
Array.prototype.slice 使用扩展
Jun 09 Javascript
JS 面向对象之神奇的prototype
Feb 26 Javascript
JavaScript中对循环语句的优化技巧深入探讨
Jun 06 Javascript
node.js中的fs.readFileSync方法使用说明
Dec 15 Javascript
jQuery实现动态表单验证时文本框抖动效果完整实例
Aug 21 Javascript
JavaScript语言精粹经典实例(整理篇)
Jun 07 Javascript
jQuery弹出层插件popShow用法示例
Jan 23 Javascript
微信小程序商城项目之购物数量加减(3)
Apr 17 Javascript
微信小程序实现图片上传功能
May 28 Javascript
layui实现根据table数据判断按钮显示情况的方法
Sep 26 Javascript
微信小程序实现单个卡片左滑显示按钮并防止上下滑动干扰功能
Dec 06 Javascript
详解如何在Canvas中添加事件的方法
Apr 17 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获取excel文件数据
2017/04/21 PHP
JavaScript 原型继承之构造函数继承
2011/08/26 Javascript
jQuery插件开发的两种方法及$.fn.extend的详解
2014/01/16 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
JScript中的条件注释详解
2015/04/24 Javascript
JavaScript实现广告弹窗效果
2016/08/09 Javascript
JS正则表达式之非捕获分组用法实例分析
2016/12/28 Javascript
jquery插件canvaspercent.js实现百分比圆饼效果
2017/07/18 jQuery
vue组件watch属性实例讲解
2017/11/07 Javascript
使用JS模拟锚点跳转的实例
2018/02/01 Javascript
细说Vue组件的服务器端渲染的过程
2019/05/30 Javascript
Angular单元测试之事件触发的实现
2020/01/20 Javascript
JavaScript设计模式之策略模式实现原理详解
2020/05/29 Javascript
vue实现一个矩形标记区域(rectangle marker)的方法
2020/10/28 Javascript
python3使用tkinter实现ui界面简单实例
2014/01/10 Python
Python正则获取、过滤或者替换HTML标签的方法
2016/01/28 Python
Python单元测试unittest的具体使用示例
2018/12/17 Python
Python中的异常处理try/except/finally/raise用法分析
2019/02/28 Python
Python字符串通过'+'和join函数拼接新字符串的性能测试比较
2019/03/05 Python
python实现微信防撤回神器
2019/04/29 Python
Python第三方库face_recognition在windows上的安装过程
2019/05/03 Python
Django 表单模型选择框如何使用分组
2019/05/16 Python
python过滤中英文标点符号的实例代码
2019/07/15 Python
Tensorflow实现将标签变为one-hot形式
2020/05/22 Python
Python连接Mysql进行增删改查的示例代码
2020/08/03 Python
python遍历路径破解表单的示例
2020/11/21 Python
英国高街品牌:Miss Selfridge(塞尔弗里奇小姐)
2016/09/21 全球购物
荷兰演唱会和体育比赛订票网站:viagogo荷兰
2018/04/08 全球购物
美国在线旅行社:Crystal Travel
2018/09/11 全球购物
集体婚礼策划方案
2014/02/22 职场文书
临床医师个人自我评价
2014/04/06 职场文书
土建工程师岗位职责
2014/06/10 职场文书
暑假安全教育广播稿
2014/09/10 职场文书
2015年办公室文秘工作总结
2015/04/30 职场文书
初三英语教学反思
2016/02/15 职场文书
区域销售大会开幕词
2016/03/04 职场文书