天道裁决的红色光柱如同一柄审判之剑,将林凡牢牢锁定。那股名为“抹杀”的意志冰冷无情,仿佛要将他从世界的“根目录”中彻底删除,不留一丝痕迹。

周围的空气凝固了,时间都仿佛被拖慢。王经理直接被这股威压震得翻了白眼,昏死过去。尤雨溪和丹·阿布拉莫夫更是脸色煞白,他们体内的Vue和React道韵,在这至高无上的W3C规则之力面前,就像两个还没上线的H5页面,渺小而不堪一击。

“是‘天道防火墙’!”尤雨溪骇然道,“W3C议会竟然把针对上古魔神的最高防御机制给启动了!”

“He is going to be garbage collected!(他要被当成垃圾回收了!)”丹·阿布拉莫夫绝望地喊道。他们想上前帮忙,却发现自己的身体根本动弹不得,在“天道”面前,任何框架的“方法”都失去了效果,变成了undefined。

林凡大脑一片空白。

完犊子了!装逼装成世界公敌了!这比写了个while(true)还刺激!

抹杀的意志已经开始侵蚀他的存在,他感觉自己的记忆正在被格式化,身体正在被像素化。就在这千钧一发之际,一个深埋在他记忆底层,被无数次996和产品经理的无理需求所掩盖的知识点,如同黑暗中的一道闪电,骤然亮起!

那是他在黑马培训班的最后一节课上,那个地中海发型的讲师,带着几分醉意,拍着桌子吼出的一段“废话”:

“同学们!记住!无论前端技术怎么变,无论框架多牛逼!有一样东西,是所有这一切的基石!是写在世界‘创世源典’(Genesis Source Code)里的第一法则!它就是……它就是……那个永远不会过时的传奇!只要你掌握了它,就算世界重启,你也能活下去!”

当时所有人都以为老师喝高了在吹牛。
但现在,林凡信了!

“给我……停下!!!”林凡用尽最后一丝力气,在脑海中发出一声惊天动地的咆哮!

他没有去抵抗那红色的“抹杀”光柱,因为他知道,那是徒劳的。他将自己全部的精神力,调动了那一个最古老、最简单,却也最根本的“指令”!

只见他颤颤巍巍地,对着虚空,伸出了一根手指。

仿佛是在敲击一个看不见的键盘,他用尽全力,在空中“写”下了一个单词。

alert()

是的,就是那个最简单,最烦人,最容易被浏览器屏蔽,被所有前端开发者鄙视的——弹窗警告。

当alert()这个指令在林凡的意念中成型的一瞬间,整个世界,仿佛被强行按下了暂停键!

嗡——!

那道毁天灭地的红色光柱,在距离林凡头顶不足一厘米的地方,戛然而止!

W3C神圣议会那冰冷无情的“天道裁决”声音,也像是遇到了阻塞UI的同步操作,卡住了:

【执行方案:抹杀!抹……抹……抹……(警告!世界主线程被阻塞!警告!User interaction required!用户需要交互!)】

整个世界,陷入了一种诡异的静滞。

时间并未停止,但世界上所有正在运行的“进程”都被挂起了。天上的云不再飘,地上的车不再跑,所有程序员的屏幕都卡在了最后一行代码。

因为,一个模态(modal)的、优先级最高的“天道级”弹窗,出现在了苍穹之上!

那是一个巨大无比、风格复古、带着Win98时代气息的朴素对话框,横亘在天地之间,上面只有一行字和两个按钮:

【世界即将被抹杀一名开发者。】

[ 确定 ] [ 取消 ]

尤雨溪和丹·阿布拉莫夫恢复了行动能力,他们目瞪口呆地望着天空,望着那个简单粗暴到极致的弹窗,整个人都傻了。

“以……以‘告警’之力,中断‘天道’之行……”尤雨溪喃喃自语,他的三观正在被反复重构,“这……这就是传说中的‘UI线程阻塞大法’?竟然……竟然真的存在?!”

丹·阿-布拉莫夫则是激动得热泪盈眶,他跪在地上,五体投地,对着林凡的方向疯狂膜拜:“My god!It’s not a bug, it’s a feature! 这不是BUG,这是特性!他……他不是魔神!他是唯一一个能跟W3C神圣议会提需求的人!”

林凡大口大口地喘着粗气,浑身都被冷汗浸透。他赌对了!alert()会阻塞浏览器主线程,这是前端界的常识!那么一个“天道级”的alert(),自然也能阻塞“天道”的主线程!

这,就是来自最底层法则的降维打击!

此刻,九天之上,W3C神圣议会的内部,已然乱成了一锅粥。

无数身穿白袍、面容模糊的身影在巨大的数据流之间穿梭。

“怎么回事?‘天道裁决’进程被suspend了!”
“是一个alert()调用!源头在凡间!”
“混账!是谁在生产环境用了alert()?!不知道这会严重影响用户体验吗?!”
“现在不是说这个的时候!我们必须做出选择!‘确定’还是‘取消’?不点掉这个弹窗,整个世界的网络都会陷入永久的停滞!”
“点‘确定’,就是继续抹杀他,但这个弹窗是他发出的,我们抹杀了他,谁来关闭这个弹窗?这会变成一个死锁!”
“那……点‘取消’?”一个年轻的身影颤抖着提议。

整个议会瞬间沉默。
取消“天道裁决”?这在W3C神圣议会成立以来的亿万个毫秒里,从未发生过!

就在他们争论不休之际,林凡抬头望着天空中那个巨大的弹窗,再次做出了一个让所有人都意想不到的举动。

他缓缓抬起手,对着天空中的弹窗,再次发动了他的意念。

他没有选择“确定”,也没有选择“取消”。

而是……精准地,用他那堪比document.querySelector()的选择器之力,指向了弹窗右上角的那个——“X”!

下一秒,一个让整个W3C神圣议会都为之崩溃的“新需求”,通过alert()这个后门,被强行注入了天道系统。

【 Uncaught TypeError: Cannot read properties of ‘null’ (reading ‘close’) 】
(未捕获的类型错误:无法读取“null”的属性“close”)

一个红色的、触目惊心的Uncaught TypeError,取代了原来的弹窗内容,鲜血淋漓地烙印在天空之上!

整个天道系统,因为这个未处理的异常,瞬间……

崩了!

天空中的红色光柱瞬间消失,那股毁天灭地的威压也烟消云散。

W3C神圣议会的宏大声音再次响起,但这一次,充满了惊慌、错乱和……乱码:

【Fatal Error: s#@!stem cr@$h… R3b00ting pr0cess… f!nd…f!nd…try…catch… W#ere is the try…catch?!.. 啊啊啊我的日志——!】

随着一声凄厉的惨叫,天道的声音,彻底消失了。

世界,恢复了流动。

林凡,站在原地,毫发无损。

他只是因为写了个jQuery,引来了天道抹杀,然后随手一个alert(),搞崩了天道系统。

他抬头看了看万里无云的天空,挠了挠头,心里只有一个念头:

“那个……我是不是该提个Bug单上去?”