至于测试环境,一般用方法二调试。
方法二:直接在浏览器上的源码区打断点,打了之后箭头会高亮(图贴在文末)。只要断点打的合适,无论是刷新页面,还是点击什么按钮,亦或是往下滚动网页,都会进入【断点调试】状态;
而绝大多数的爬虫开发工程师,都是从前端入手的,哪怕是手机上的App,也能通过反编译,得到源码。
然后再断点调试,跟踪变量,一步一步找到加密的过程和方法,再用python等语言,编写爬虫脚本。
所以,在高手眼里,前端代码,没有任何秘密可言。
……
……
毫不意外,林禹又把属性加在了【耐力】上,目前已经达到了10点!
把今天亏空的体力补充满了!
还没完,又把任务奖励领了!
{【限时】(简单)将穿貂皮大衣的小器鬼制服,并抢夺他的区块链秘钥[1\/1]}
“叮~恭喜宿主完成限时任务【雕牌秘钥】,奖励【词条强化器】一枚。”
\"叮~注意!完成此任务会开启地狱级支线剧情,请做好准备,哎,想吃啥赶紧吃吧,及时行乐……\"
林禹惊了!
“什么鬼!我就是看是‘简单级’的才顺手完成的,你丫的在坑我啊!!什么叫及时行乐,你有这么悲观吗~喂!!!”
吐槽了半分钟才停止……
林禹拿着【词条强化器】,犹豫给哪个技能强化。
“上次是困难级的任务,才给这个道具,看来系统是希望我用这个翻盘啊……”
随即盯向了新解锁的技能【断点调试】。
“正常情况下要进入【断点】极其苛刻,不知道战斗中有没有这个时间\"吟唱咒语\"……看看强化后会怎样。”
想罢,林禹对技能使用了道具,又是一阵金光特效。
“叮~【断点调试】强化成功!”
“【断点调试-改】:……,可以在【事件循环】中注入断点,若用这种方式进入调试状态,精神力消耗增加100%!”
……
……
JavaScript 是一门单线程语言,但是有同步代码与异步代码。
程序执行起来,会分成两种任务:“宏任务”和“微任务”。
单线程就是,一个时间内只能干一件事,人类大脑的思考模式,就是单线程模式。
“宏任务”是指:在主线程上排队执行的任务,只有前一个任务执行完毕,才能执行后一个任务;
比如我要烧水,那我必须等水接完,才能把电水壶放在底座上,等水满的过程,就是宏任务
“微任务”是指:不进入主线程、而进入\"任务队列\"的任务,类似于托管,完成后会通知主线程。
还是刚才的例子,我将电水壶放底座上通电后,就不必一直在旁边盯着看。
可以打开手机,上《原神》做个日常,等电水壶提示水开后,我再去倒水。
这个电水壶烧水的过程,就是放进了“任务队列”。
通知我水烧好了,我去拿水壶,就又进入了主线程。
这时候我就不能同时玩游戏了,最多把游戏暂停放一边,等倒完水才能继续玩。
(非要说把手机架在桌子上,单手操作,另一只手凭感觉倒水,那我没话说……)
完整的执行一次“宏任务”和“微任务”,就算一次【事件循环】。
(流程图贴在文末)
……
……
林禹看到新效果,欣喜若狂。
他之前就注意到了,在领域里,事件循环是实时调用的。
也就意味着,只要他想,他就可以在任何时候,进入断点调试状态!
立刻试验!
果然,技能发动后,领域内的一切事物都静止了,包括花洒喷出的水滴!
但精神力也在飞速消耗,林禹还没来得及查看变量数值,就立刻退出了!
他还要留着对付楼上两个家伙!
大约估算了一下,满蓝状态,最多够维持3秒!
“这哪里是什么断点调试,我更愿意称之为……”
“砸瓦鲁多!”
(《JoJo的奇妙冒险》中的着名台词,迷人大反派“迪奥·布兰度”的能力,可以时间静止,因为他代表塔罗牌中的“世界”,所以每次他发动技能时,都要喊“the world”,而日式发音比较有特色,音译过来就是“砸瓦鲁多”!)