• 10th week blog1


    for each...in,for...in,for...of的examples和explaintion

    (1)for...in

     for...in语句用来迭代(或者说遍历)对象的属性或数组中的元素,并对每个属性或方法执行运算。但是对象的方法不能由for...in语句来迭代,有些语句也不能有for...in来迭代,例如某些宿主对象的属性。和实力成员不同的是,静态成员也是不能迭代的。

    例子:

    1、用for...in语句遍历myObject对象的属性:

     Js代码  

    1. var myObject = {hisName: "javascript", age: 11, belonging: "ECMA" };  
    2. for(var prop in myObject){  
    3.     document.write("myObject." + prop + "=" myObject[prop] + "<br>");  
    4. }  

     执行的结果将会显示在浏览器中,如下:

    1. myObject.hisName = javascript  
    2. myObject.belonging = ECMA  
    3. myObject.age = 11  

    2、下面用for...in语句遍历数组的元素:

    Js代码  
    1. var myArray = new Array("one","two","three");  
    2. for(var index in myArray){  
    3.      document.write("myArray[" + index + "] = " + myArray[index] + "<br>"):  
    4. }  

      执行的结果将会显示在浏览器中,如下:

    1. myArray[2] = three  
    2. myArray[1] = two  
    3. myArray[0] = one  

    (2)for each...in

    与for...in语句不同的是,for each...in语句将遍历对象属性的值,而不是属性的名称。

    例子:

    1、用for each...in语句遍历myObject对象的属性:

    Js代码 
    1. var myObject = {hisName: "javascript", age: 11, belonging: "ECMA" };  
    2. for(var item in myObject){  
    3.     document.write(item+ "<br>");  
    4. }  

      执行的结果将会显示在浏览器中,如下:

    1. javascript  
    2. ECMA  
    3. 11  

      2、下面用 for each...in 语句遍历数组的元素:

    Js代码 
    1. var myArray = new Array("one","two","three");  
    2. for(var item in myArray){  
    3.      document.write(item + "<br>"):  
    4. }  

       执行的结果将会显示在浏览器中,如下:

    1. three  
    2. two  
    3. one

    (3)for...of

    JavaScript 原有的for...in循环,只能获得对象的键名,不能直接获取键值。ES6 提供for...of循环,允许遍历获得键值。for...of循环调用遍历器接口,数组的遍历器接口只返回具有数字索引的属性。这一点跟for...in循环也不一样。

    例子:

    1、

    var arr = ['a', 'b', 'c', 'd'];

    for (let a in arr) {
    console.log(a); // 0 1 2 3
    }

    for (let a of arr) {
    console.log(a); // a b c d
    }

    2、

    let arr = [3, 5, 7];
    arr.foo = 'hello';

    for (let i in arr) {
    console.log(i); // "0", "1", "2", "foo"
    }

    for (let i of arr) {
    console.log(i); // "3", "5", "7"
    }

    转自:http://www.cnblogs.com/myzy/p/7238983.html

       http://hjj20040849.iteye.com/blog/1504155

  • 相关阅读:
    MYSQL profiling分析语句
    进程状态与僵尸进程、孤儿进程
    Nginx跨域设置
    Redis的应用场景
    Nginx的作用
    cgi、fast-cgi和php-fpm的介绍(作用)
    CoreDump开启和Swoole Tracker 3.0配置
    好题总结
    Atcoder总结 Part III
    Atcoder总结 Part II
  • 原文地址:https://www.cnblogs.com/husuiblogs/p/9977896.html
Copyright © 2020-2023  润新知