zoukankan      html  css  js  c++  java
  • console对象

    一、console对象常用的方法
    1、console.log(i)
    console.log方法用于在控制台输出信息。它可以接受多个参数,将它们的结果连接起来并输出,该方法会自动在每次输出的结尾添加换行符。占位符:%d整数,%f浮点数,%s字符串,%o对象。

    console.log('Hello World')
    // Hello World
    console.log('a', 'b', 'c')
    // a b c
    console.log(' %s + %s = %s', 1, 1, 2)
    //  1 + 1 = 2

    2、console.info(i),console.debug(i),console.warn(i),console.error(i)。
    它们都是console.log方法的别名,用法完全一样,区别就是前面有什么图标。

    ['log', 'info', 'warn', 'error'].forEach(function(method) {
      console[method] = console[method].bind(
        console,
        new Date().toISOString()
      );
    });
    
    console.log("简单封装一些console方法!");
    // 2014-09-04T09:31:19.304Z 简单封装一些console方法!

    3、console.count()
    console.count方法用于计数,输出它被调用了多少次。

    function greet(user) {
      console.count();
      return 'hi ' + user;
    }
    
    greet('camille')
    //  : 1
    // "hi camille"
    
    greet('HouYi')
    //  : 2
    // "hi HouYi"
    
    greet('camille')
    //  : 3
    // "hi camille"

    每次调用greet函数,内部的console.count方法就输出执行次数。该方法可以接受一个字符串作为参数,对执行次数进行分类。

    function greet(user) {
      console.count(user);
      return "hi " + user;
    }
    
    greet('camille')
    // camille: 1
    // "hi camille"
    
    greet('HouYi')
    // HouYi: 1
    // "hi HouYi"
    
    greet('camille')
    // camille: 2
    // "hi camille"

    4、console.dir()
    显示对象所有属性和方法。

    var user = { name: "camille", age: 96 };
    console.dir(user);

    5、console.time(),console.timeEnd()
    console.time方法用来新建一个脚本执行时间测试器,它的参数是测试器的名字。

    console.time('测试脚本执行时间');
    function checkForm(){
        ....
    }
    console.timeEnd('测试脚本执行时间');

    6、console.profile(),console.profileEnd()
    console.profile方法用来新建一个性能测试器,它的参数是性能测试器的名字。

    7、console.table()
    对于某些复合类型的数据,console.table可以将其转为表格显示。复合型数据转为表格显示的条件是,必须拥有主键。
    A、对于数组来说,主键就是数字键。

    var tech = [
      { name: "html", popular: "html5" },
      { name: "css", popular: "css3" },
      { name: "js", popular: "es6" }
    ];
    
    console.table(tech);

    biaogeshuzu

    B、对于对象来说,主键就是它的最外层键。

    var tech = {
      css: { name: "样式", popular: "css3" },
      js: { name: "交互", popular: "es6" },
      server: { name: "后端语言", popular: "nodejs" }
    };
    
    console.table(tech);

    biaogeduixiang

    二、console.log,window.alert,document.write的区别
    console.log不会阻断程序继续进行,在控制台可以看到测试结果;
    window.alert弹出框会阻断程序运行,在弹出框可以看到测试结果;
    document.write不会阻断程序继续进行,在页面可以看到测试结果。

    三、浏览器命令行API
    控制台中,除了使用console对象,还可以使用一些控制台自带的命令行方法。
    1、$_
    $_属性返回上一个表达式的值。

    2 + 2
    // 4
    $_
    // 4

    2、$0 - $4
    控制台保存了最近5个在Elements面板选中的DOM元素,$0代表倒数第一个,$1代表倒数第二个,以此类推直到$4。
    3、$(selector)
    $(selector)返回第一个匹配的元素,等同于document.querySelector()。注意,如果页面脚本对$有定义,则会覆盖原始的定义。比如,页面中有jQuery,控制台执行$(selector)就会采用jQuery的实现,返回一个数组。

    4、$$(selector)
    $$(selector)返回一个选中的DOM对象,等同于document.querySelectorAll。
    你可以将一个css选择器作为这个函数的参数,然后获得当前页面中所有匹配这个css选择器的元素列表。如果在浏览器控制台以外的地方,你可以使用document.querySelectorAll('')来代替$$('')。

    测试:在你的Chrome浏览器控制台中输入$$('a'),然后你就能得到一个当前页面中所有锚元素的列表。

    [].forEach.call($$("*"),function(a){ 
    a.style.outline = "1px solid #"+(~~(Math.random()*(1<<24))).toString(16); 
    }); 

    5、keys(object),values(object)
    keys(object)方法返回一个数组,包含特定对象的所有键名。
    values(object)方法返回一个数组,包含特定对象的所有键值。

    var tech = [
      { name: "html", popular: "html5" },
      { name: "css", popular: "css3" },
      { name: "js", popular: "es6" }
    ];
    keys(tech);
    values(tech);

    四、为什么控制台运行语句总是出现undefined?
    如果函数无明确的返回值,或调用了没有参数的return语句,那么它真正返回的值是undefined。函数始终都会有一个返回值,即便不是显示返回,它也会隐式返回一个undefined。
    console控制台每执行一条语句,会打印出该语句的返回值,于是你会经常看到undefined。

    控制台语句undefined

  • 相关阅读:
    Eclipse 远程调试
    大数据处理方法bloom filter
    sicily 1259 Sum of Consecutive Primes
    sicily 1240. Faulty Odometer
    sicily 1152 简单马周游 深度优先搜索及回溯算法
    sicily 1050 深度优先搜索解题
    sicily 1024 邻接矩阵与深度优先搜索解题
    sicily 1156 二叉树的遍历 前序遍历,递归,集合操作
    sicily 1443 队列基本操作
    sicily 1006 team rankings 枚举解题
  • 原文地址:https://www.cnblogs.com/camille666/p/js_console_obj.html
Copyright © 2011-2022 走看看