环境:SeaMonkey (FireFox 20.0)
我正在尝试做一个简单的排序:在一个工作者本身或在其postMessage处理程序内。
(所有代码样本都来自顶层(.html)文件)。
:
function a() {
var xyzzy = [40, 1, 5, 200];
xyzzy.sort();
};
失败:(Error: TypeError: xyzzy. Error)Sort不是函数)
var lrw0 = new Worker('lrw0.js');
lrw0.onmessage = function (event) {
var xyzzy = [40, 1, 5, 200];
xyzzy.sort();
};
在postMessage事件之后,处理程序与worker具有相同的上下文和作用域。很好。不用说,这种分类在工人内部是失败的。似乎如果一个实用程序库无法访问?
彻底打败了。我在这个问题上花了几天时间——毫无疑问,我在某个地方读到了解决方案,但没有理解它。任何贡献(包括"粗鲁但信息丰富的")都将被感激地接受。我完全理解无情地惩罚新手的必要性。
在修复对Array的调用之前,这两个示例都不能正常工作。排序方法
语法Javascriptarray.sort ([compareFunction])
function a() {
var xyzzy = [40, 1, 5, 200];
xyzzy.sort(); // notice the difference
console.log(xyzzy);
};
a();
在jsfiddle