zoukankan      html  css  js  c++  java
  • 两次console.log打印值不同

     1         var a=[1,2,3]
     2         console.log(a);
     3         a[2]=10;
     4         console.log(a);
     5         // 打印结果
     6         // (3) [1, 2, 3]
     7         // (3) [1, 2, 10]
     8 
     9         // 点击小箭头展开
    10         // (3) [1, 2, 3]
    11         // 0: 1
    12         // 1: 2
    13         // 2: 10
    14         // length: 3
    15         // __proto__: Array(0)
    16 
    17         // (3) [1, 2, 10]
    18         // 0: 1
    19         // 1: 2
    20         // 2: 10
    21         // length: 
    22         // 3__proto__: Array(0)

    因为当你在Chrome Console点击展开数组时,会重新去读一遍内存真实的值然后显示,一但展开后就不会再变。

    chrome的console打印对象的时候,查看值是点击展开时再详细获取的,整个流程:

    1. 空对象声明

    2. 执行console,chrome打印对象,传递的是对象的引用

    3. FileReader完成,赋值data给对象

    4. 你在console中,点击展开值,通过对象引用,获取到对象的详细值

    你可以看到截图Object {} [i]这里有个[i]的图标,有对应的对象console说明:value below was evaluated just now

    console的其他用法

    1.console.log占位符

    console.log("%d年%d月%d日",2011,3,26);

    打印结果为2011年3月26日

    2.console.group 信息分组

        //组之间嵌套 group1包含group2
        console.group('group1')
        console.log('member1')
        console.log('member2')  
        console.group('group2')
        console.log('member3')
        console.log('member4')
        
        //添加end 组1与组2并列
        console.group("第一组信息");        
        console.log('member1')
        console.log('member2')
        console.groupEnd();
        console.group("第二组信息");
        console.log('member3')
        console.log('member4')
        console.groupEnd();

    3.console.dir()显示一个对象所有的属性和方法。

  • 相关阅读:
    关于LoginFilter的问题
    MyEclipse:各种提示图标的含义
    Js获取当前日期时间及其它操作
    微信jsApI及微信分享对应在手机浏览器的调用总结。
    js 刷新页面window.location.reload();
    applicationContext.xml
    网页打开微信的链接
    myeclipse竖行删除
    实现算法2.15、2.16的程序(一个数组只生成一个静态链表)
    循环链表
  • 原文地址:https://www.cnblogs.com/zjx304/p/9783339.html
Copyright © 2011-2022 走看看