停止js无穷轮回引起的假死或cpu100%
本文内容很简朴,只是劈口试中碰着的一个记不清晰的题目的温习,鉴于是俺第一次在cnblog上发文,以是装了防护盾,请勿以任何方法扔板砖、菜刀之类物品…. 本日去海内某知名公司口试了一把,投的地位是 前端开拓,第一次去大公司口试,受到的感伤虽然黑白常多多,感伤稍后补齐,整个进程没啥有难度的技能题目,也许和该公司的产物偏向有关吧(增补下,该公司主打不是做web的)。 二轮口试的时辰,产物司理和我提到了他们产物中碰着的一个题目,或许意思是:他们某个成果,在页面做无穷轮回表现数据的时辰,会造成CPU,100%。 其时产物司理壹贝偾轻微给我演示了下,由于其时我脑筋一向在想,这个题目为啥在本身早年用JS模仿多线程的时辰没有呈现,以是对他说的相干的信息也没留意听,界面壹贝偾看了个或许,其时我也只提出行使 setTimeout 或 setInterval 来做的话,会停止这个题目,不外距我前次做多线程Demo的日子过的太长,有点恍惚了,我也没有百分百掌握,以是回家后赶忙翻出早年的代码出来清算出谜底,如下: 代码简朴,我也就懒得写注释了,以下是轮回次数 和 配置DIV innerHTML的2个函数。
预计没人会像 测试1 这样用,赏识器直接卡死。 Test1:
测试二行使 setInterval 要领,CPU行使量 和 IE所占内存都很少,一样平常CPU就是在0-2%之间,和while 的轮回根基能到达同样的结果。至于为啥呈现这样的缘故起因,小弟不敢妄自揣摩,停止误导新人。但愿有相识JS引擎的出来讲授讲授… Test2:
凭证产物司理那样的界面去或许表现数据,或许是有接口会自动提供数据,前端挪用处理赏罚字符串就好了… Test3完备代码: <div id="containder" style="overflow:scroll;"></div>
本文的第二个目标也是给各人提个醒,着实口试许多时辰都是问些基本的操纵. 第一次使这对象,感受挺贫困.先测试下都... 作者:低调的葉子 出处:http://www.cnblogs.com/zedJS (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |