浅析 HTML console

1. 显示信息

// 1. 显示信息
console.log('hello');
console.info('信息');
console.error('错误');
console.warn('警告');

在这里插入图片描述

2. 占位符

console 支持 printf 的占位符格式,支持的占位符有:字符(%s)整数(%d或%i)浮点数(%f) 和对象 (%o)

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

3. 信息分组

// 3. 信息分组
console.group("第一组信息");        
console.log("第一组第一条");
console.log("第一组第二条");
console.groupEnd();
console.group("第二组信息");
console.log("第二组第一条:程序爱好者:");
console.log("第二组第二条:欢迎你加入");
console.groupEnd();

4. 显示一个对象所有的属性和方法

查看对象信息 console.dir(obj) =>可以显示一个对象所有的属性和方法。

var info = {
    blog: "http://cllgeek.github.io",
    number: 495489065,
    message: "程序爱好者欢迎你的加入"
};
console.dir(info);

5. 显示某个节点的内容

console.dirxml() 用来显示网页的某个节点 node 所包含的 html/xml 代码

    <div id="info">
        <h3>我的博客:cllgeek.github.io</h3>
        <p>程序爱好者:495489065,欢迎你的加入</p>
    </div>
    
    <script type="text/javascript">
      var info = document.getElementById('info');
      console.dirxml(info);
    </script>

在这里插入图片描述

6. 判断变量是否为真

var result = 1;  
console.assert(result);  
var year = 2014;  
console.assert(year == 2018);

7. 追踪函数的调用轨迹

            //console.trace() 用来追踪函数的调用轨迹。
            /*函数是如何被调用的,在其中加入console.trace()方法就可以了*/
            function add(a, b) {
                console.trace();
                return a + b;
            }
            var x = add3(1, 1);

            function add3(a, b) {
                return add2(a, b);
            }

            function add2(a, b) {
                return add1(a, b);
            }

            function add1(a, b) {
                return add(a, b);
            }

在这里插入图片描述

8. 计时功能 查看页面数据渲染时间

//计时功能  查看页面数据渲染时间
            console.time("控制台计时器一");
            for (var i = 0; i < 1000; i++) {
                for (var j = 0; j < 1000; j++) {}
            }
            console.timeEnd("控制台计时器一");

Result:

控制台计时器一: 2.833251953125ms

9. console.profile() 性能分析

性能分析(Profiler)就是分析程序各个部分的运行时间,找出瓶颈所在,使用的方法是console.profile()

            function All() {
                alert(11);
                for (var i = 0; i < 10; i++) {
                    funcA(1000);
                }
                funcB(10000);
            }

            function funcA(count) {
                for (var i = 0; i < count; i++) {}
            }

            function funcB(count) {
                for (var i = 0; i < count; i++) {}
            }

            console.profile('性能分析器');
            All();
            console.profileEnd();
ThreadLocal 是 Java 中的一个类,它提供了一种线程局部变量的机制。线程局部变量是指每个线程都有自己的变量副本,每个线程对该变量的访问都是独立的,互不影响。 ThreadLocal 主要用于解决多线程并发访问共享变量时的线程安全问题。在多线程环境下,如果多个线程共同访问同一个变量,可能会出现竞争条件,导致数据不一致或者出现线程安全问题。通过使用 ThreadLocal,可以为每个线程提供独立的副本,从而避免了线程安全问题。 ThreadLocal 的工作原理是,每个 Thread 对象内部都维护了一个 ThreadLocalMap 对象,ThreadLocalMap 是一个 key-value 结构,其中 key 是 ThreadLocal 对象,value 是该线程对应的变量副本。当访问 ThreadLocal 的 get() 方法时,会根据当前线程获取到对应的 ThreadLocalMap 对象,并从中查找到与 ThreadLocal 对象对应的值。如果当前线程尚未设置该 ThreadLocal 对象的值,则会通过 initialValue() 方法初始化一个值,并将其存入 ThreadLocalMap 中。当访问 ThreadLocal 的 set() 方法时,会将指定的值存入当前线程对应的 ThreadLocalMap 中。 需要注意的是,ThreadLocal 并不能解决共享资源的并发访问问题,它只是提供了一种线程内部的隔离机制。在使用 ThreadLocal 时,需要注意合理地使用,避免出现内存泄漏或者数据不一致的情况。另外,由于 ThreadLocal 使用了线程的 ThreadLocalMap,因此在使用完 ThreadLocal 后,需要手动调用 remove() 方法清理对应的变量副本,以防止内存泄漏。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值