目录
一、console.log() 和 console.dir()
五、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 趁它还没打印就去清除了