• 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

  • 相关阅读:
    Javap课堂练习——接口与继承
    课堂练习——数组
    Java课堂练习——string
    软件工程作业01
    登录界面连接数据库
    软件工程概论第一周学习进度
    06构建之法读书笔记——需求分析
    05构建之法读书笔记——用户体验
    04构建之法读书笔记——IT行业的创新
    03读构建之法读书笔记——团队和流程
  • 原文地址:https://www.cnblogs.com/camille666/p/js_console_obj.html
Copyright © 2020-2023  润新知