在web工作者javascript文件中迭代100000个索引的数组会冻结浏览器
Iterating array of 100000 indexes in web worker javascript file freezes the browser
网络工作者
HTML文件
<p> clicking web worker will iterate through 100000 indexes of array
</p>
<input type="button" onclick="startWorker()" value="web worker">
<input type="button" id="btn" value="click to display hello">
<div id="contents"></div>
脚本
function startWorker()
{
var worker = new Worker('bigloop.js');
worker.onmessage = function (event) {
alert(event.data);
worker.terminate();
};
}
$(function()
{
$('#btn').click(
function()
{
$('<p>hello</p>').appendTo('#contents');
}
);
})
bigloop.js
var i;
var array=new Array();
for(i=0;i<100000;i++)
{
array.push(i);
}
var n=array.length;
for ( i = 0; i <n; i += 1){
console.log(array[i]);
}
postMessage("completed successfully. .");
当我点击web worker按钮时,它会冻结浏览器,直到循环在bigloop.js
中执行为止。
- ?网络工作者有什么用
我敢打赌,当你去掉console.log行时,情况会有所不同。随着时间的推移,我注意到了一件事:例如,当DEV工具打开时,页面加载要慢得多。尝试不记录,看看会发生什么。
相关文章:
- 是索引数组文字的好做法
- jQuery ajax请求,将索引数组作为关键字字符串
- Javascript中的名称索引-数组/对象
- 如何在对象中按值创建排序索引数组
- 提取索引数组中的整数值
- 来自 jsp 和 javascript 中的请求属性的对象索引数组
- 单击导航索引数组时发出双重警报
- 以编程方式声明基于索引数组的变量(使用谷歌网站列表页面)
- 索引数组 JavaScript 中索引的搜索值
- 根据值从索引数组中删除元素
- 如何检查名称索引数组中有多少个特定结果
- 从 JavaScript 数组中删除索引数组
- 创建一个索引数组,该数组的索引值为 JavaScript 中最常见的数组值
- JavaScript 如何用数组解释索引数组
- 在javascript中向索引数组添加超链接
- 非数字索引数组的长度
- JavaScript-偶数索引数组元素乘以2,奇数索引乘以3
- Javascript-使用索引数组访问数组的元素
- 从数组中删除索引数组
- 在javascript中用索引数组索引一个数组的数组