1
yqf3139 OP 有一个解决方法,想到可以在一开始把 typed array 的构造函数给覆盖重写。就可以实现一个 Proxy 来拦截 set 和 get 了。但直接在 typed array 上动态重写是无效的,不清楚原因。
实现代码: <script src="https://gist.github.com/yqf3139/0f05621ae09be61d373f.js"></script> console.time ('a');for (var ii=0;ii<1000000;ii++){bb[ii%10] = bb[ii%10]+ii;};console.timeEnd ('a'); VM4445:2 a: 4029.594ms console.time ('a');for (var ii=0;ii<1000000;ii++){a[ii%10] = a[ii%10]+ii;};console.timeEnd ('a'); VM4446:2 a: 2374.783ms 性能损失还好。 |