调试工具(全局工具)(alert、confirm、debugger...)

目录

一、console.log() 和 console.dir()

二、alert() 弹窗

三、confirm

四、debugger

五、setInterval  和  clearInterval ==> 一直打

六、setTimeout  和 clearTimeout  ==> 打印一次


window 的一些功能,全局方法或者属性

一、console.log() 和 console.dir()

console.log(new Date())

console.dir(new Date())

二、alert() 弹窗

var a=1;  alert(a);    页面会有一个弹窗,并有确定

console.log 和 alert 的区别:

console.log :它不会阻止代码运行

alert :不会阻止代码运行==>   它使用频率更高

三、confirm

页面会有一个弹窗,并有确定和取消 ==> 一般做项目不用官方提供的此方法

var re=confirm("你确定支付吗?")

console.log(re) //点确定控制台打印true,点取消打印false

四、debugger

debugger 关键字设置 JavaScript 代码的断点(打开浏览器调试器工具的Sources栏,刷新页面可以看到,右边有箭头可以实现上一步和下一步的运行)

在每个断点上,都会停止执行 JavaScript 代码,以便于我们检查 JavaScript 变量的值。

在检查完毕后,可以重新执行代码。

        //例如在for循环中出现了错误,但是不知道是哪一步出错了,就可以用debugger来调试
        for(var i=0;i<5;i++) {
            debugger;
            console.log(i)
        }
        console.log(i)

五、setInterval  和  clearInterval ==> 一直打

计时器:

        var i=0
        setInterval(()=>{
            console.log(i++)
        },1000)  //1000ms调用一次,依次打印 1 2 3...

      如果改为1ms打印一次,就不合理,任务太紧了,就会卡在那里

        一般做业务都写  fps:60  (浏览器的极限是一秒钟会60次)

        所以上面填17差不多就接近极限了   1000/60

清除:clearInterval。传re,不要传数字

        var i = 0
        var re = setInterval(() => {
            console.log(i++)
        }, 1000)
        console.log(re)  //setInterval函数的返回值是数字
        
        //停下来
        //因为setInterval的返回值是数字,所以不要传数字,应该传re
        clearInterval(re)
        var re=setInterval(()=>{
            re=setInterval(()=>{  //第二个计时器
                console.log(123)
            },1000)
        },1000)   //等一秒钟就要运行这个大的函数

        clearInterval(re)  //什么都不会打印,因为上面还在等一秒钟的时候,这一行代码已经运行了
        //如果没有这句代码,上面执行一会,在写上面这句代码,就根本清除不了外面这个计时器:因为外面计时器的编码找不到了,外面函数运行回调函数的时候,里面生成的计时器的编码把全局变量的值覆盖了,外面计时器的返回值永远访问不了了,因为re保存的是每次生成的新的计时器的编码

六、setTimeout  和 clearTimeout  ==> 打印一次

照理来说,一般调用函数,会把函数体执行完了,在运行下面的代码。但是setTimeout  这样的函数比较特殊,要等一秒后调回调函数,在这一秒就会运行下面的代码==>这就是异步函数

        //只执行一次
        var re = setTimeout(() => {
            console.log(123)
        }, 1000)
        console.log(re)  //1  123


        var re = setTimeout(() => {
            console.log(123)
        }, 1000)
        console.log(re) 
        clearTimeout(re)  // 1    趁它还没打印就去清除了

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值