JS 是一个单线程的解释器,维持一个任务队列。
arguments.callee:正在运行的函数(arguments中参数所属的当前执行的函数)
arguments:每个函数都会有一个 Arguments 对象实例 arguments(类似数组,可用[i]访问函数参数,但是对象)
//循环调用,执行多次,直到页面失效
//第一次执行:到t后,将func加载到js任务队列
//间隔时间为:min(func_t,t)
//任务队列中<=1个同一定时器的回调函数【当func_t远大于t时,会导致多个func进入js任务队列,但最多只留有一个func】
//会返回数值id,clearInterval(id)可停止循环调用
setInterval(function () {
//$("#clickme").trigger('click')
}, t);//t以ms为单位
//超时调用,只执行一次
//到t后,将func加载到任务队列
//会返回数值id,clearTimeout(id)可停止
setTimeout(function () {
$("#clickme").trigger('click')
}, t);//t以ms为单位
//setTimeout模拟setInterval,进行循环调用(间隔=func_t+t)
var timer = setTimeout(function() {
//$("#clickme").trigger('click');
timer = setTimeout(arguments.callee, 1000)//再次调用
}, 1000);
//clearTimeout(id)可停止循环
模仿点击
//jquery
$("#clickme").trigger('click')
运行脚本
1。F12->console:写代码
2。F12->sources->snippets->新建snippets文件,并运行该snippets文件
本文探讨了JavaScript作为单线程语言的特性,提到了如何使用arguments.callee引用当前运行的函数,并介绍了如何通过Arguments对象访问函数参数。此外,还讲解了如何模仿点击事件以及在开发者工具中创建和运行脚本片段的方法。
189

被折叠的 条评论
为什么被折叠?



