js中的循环是我们经常要用到的,现在进行一些归纳。

一.javascript种的循环。

1.循环对象

  1. var o = {
  2. name: 'Jack',
  3. age: 20,
  4. city: 'Beijing'
  5. };
  6. for (var key in o) {
  7. if (o.hasOwnProperty(key)) {
  8. console.log(key); // 'name', 'age', 'city'
  9. console.log(o[key]); //'jack',20,'Beijing'
  10. }
  11. }

2.循环数组

  1. var arr = ['Bart', 'Lisa', 'Adam'];
  2. for (var i in arr){
  3.   console.log("hello,"+arr[i]);
  4. }

或者

  1. var a = ['A', 'B', 'C'];
  2. a.forEach(function (element, index, array) {
  3. // element: 指向当前元素的值
  4. // index: 指向当前索引
  5. // array: 指向Array对象本身
  6. console.log(element + ', index = ' + index);
  7. });

可根据兴趣写回调决定回调函数中的参数

  1. var a = ['A', 'B', 'C'];
  2. a.forEach(function (element) {
  3. console.log(element);
  4. });

循环set和map

  1. var s = new Set(['A', 'B', 'C']);
  2. s.forEach(function (element, sameElement, set) {
  3.   // element: 指向当前元素的值
  4.   // sameElement: 也是当前元素
  5.   // set: 指向set对象本身
  6. console.log(element);
  7. });
  1. var m = new Map([[1, 'x'], [2, 'y'], [3, 'z']]);
  2. m.forEach(function (value, key, map) {
  3. console.log(value);
  4. });

二.jquery的循环

基本是循环数组。

1.取得jquery对象后循环

  1. $("li").each(function(){
  2. alert($(this).text())
  3. });

其实方法的完整形式是

  1. $(selector).each(function(index,element))

可以根据自己的需要添加参数。

2.不取得jquery对象,直接使用$.each()方法。第一个参数是被循环的数组对象,第二个为回调函数。

  1. var userList = [11,22,33,44];
  2.   $.each(userList,function(i,item){
  3.     console.log(i, item);
  4.  
  5.   });

3.遍历选择器得到的元素

  1. $(function(){
  2. var selector=$('ul.lang li.lang-javascript');
  3. //var selector=$('div.testing li.lang-javascript');
  4. console.log(selector.length);
  5. selector.each(function(i){
  6. var _this=$(this);
  7. if(_this[0].tagName=="DIV"){
  8. console.log(_this.html());
  9. }else if(_this[0].tagName=="INPUT"){
  10. console.log(_this.val());
  11. }else{
  12. console.log(_this.text());
  13. }
  14. });
  15. });

js中的循环的更多相关文章

  1. js中的循环语句

    js中的循环语句可分为三种:1.while:2.do……while:3.for. while的语法为 while (exp) {    //statements;} var a=1,b=0; whil ...

  2. js中for循环的研究

    转自:http://blog.csdn.net/lushuaiyin/article/details/8541500 <html> <body> <b><ce ...

  3. java和js中for循环的区别

    java中for循环,先执行语句后循环 for (int i=1;i<10;i++){ for(int b=1;b<=i;b++){ System.out.print(b+"*& ...

  4. JS中的循环嵌套 BOM函数

    [嵌套循环特点]                           外层循环转一次,内层循环转一圈              外层循环控制行数,内层循环控制每行元素个数             [做 ...

  5. JS中for循环变量作用域--解决for循环异步执行的问题

    被这个问题困惑了很久,终于在网上找到了答案,感谢~ 现在分享给大家~ js中如何让一个for循环走完之后,再去执行下面的语句? 这涉及for循环变量作用域的问题,js中作用域只有函数作用域和全局作用域 ...

  6. 简单聊一聊JS中的循环引用及问题

    本文主要从 JS 中为什么会出现循环引用,垃圾回收策略中引用计数为什么有很大的问题,以及循环引用时的对象在使用 JSON.stringify 时为什么会报错,怎样解决这个问题简单谈谈自己的一些理解. ...

  7. Js中for循环的阻塞机制

    Js阻塞机制,跟Js引擎的单线程处理方式有关,每个window一个JS线程.所谓单线程,在某个特定的时刻只有特定的代码能够被执行,并阻塞其它的代码. 由于浏览器是事件驱动的(Event driven) ...

  8. JS实现停留几秒sleep,Js中for循环的阻塞机制,setTimeout延迟执行

    //第一种,使用while循环 function sleep(delay) { var start = (new Date()).getTime(); while((new Date()).getTi ...

  9. JS中For循环中嵌套setTimeout()方法的执行顺序

    在For循环中执行setTimeOut()方法的代码,执行顺序是怎样的呢? 代码如下 function time() { for(var i= 0;i<5;i++){ setTimeout(fu ...

随机推荐

  1. UI5-学习篇-4-SCP-SAP WEB IDE登录

    1.注册SAP账号 登录SAP官网:https://www.sap.com/index.html 注册Register 填完相关信息,勾选条款,然后提交. 账号激活:完成后需到Email邮件中激活链接 ...

  2. python tuple排序

    tuple排序,按照索引0,1,2,3...依次比较 a = [3,1,0,9,6,2,4,8,7,5] a.sort(key = lambda x: (x%2, x, x%3)) # 先按照x%2的 ...

  3. AS_简单的开始

    1.注释   单行注释  //           多行注释  /* src */ 2.变量   变量名,可以包含字母.数字.下划线.$.但不以数字开头.   变量类型,是严格数据类型.AS有静态类型 ...

  4. C++复习:继承与派生

    1继承概念 面向对象程序设计有4个主要特点:抽象.封装.继承和多态性.说了类和对象,了解了面向对象程序设计的两个重要特征一数据抽象与封装,已经能够设计出基于对象的程序,这是面向对象程序设计的基础. 要 ...

  5. oracle第一天笔记

    Oracle体系结构: 数据库   ---->  实例(orcl) --->  表空间(逻辑单位)(用户)  ---> 数据文件(物理单位) 地球     ---->   国家 ...

  6. elk日志平台搭建小记

    最近抽出点时间,搭建了新版本的elk日志平台 elastaicsearch 和logstash,kibana和filebeat都是5.6版本的 中间使用redis做缓存,版本为3.2 使用的系统为ce ...

  7. asp.net 如何判断输入的值 包括 汉字?

    string input = " 里面是不是汉字 ";bool bl= System.Text.RegularExpressions.Regex.IsMatch(input, @& ...

  8. /src/applicationContext.xml

    <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.sp ...

  9. 使用openshit在ubuntu14.04下一键部署openstack(juno版本)

    一.基本介绍 本实验是在vmware workstation上虚拟机ubuntu14.04(64bit,desktop)上部署openstack(Juno版本).采用的工具是openshit.open ...

  10. 1.5.6、CDH 搭建Hadoop在安装之前(定制安装解决方案---使用Cloudera Manager模板创建CDH群集)

    使用Cloudera Manager模板创建CDH群集 您可以通过从Cloudera Manager管理的现有CDH群集导出群集模板来创建新的CDH群集.然后,您可以修改模板并使用它在新的主机集上创建 ...