我想创建vector
一个零初始化数组的 JavaScript 类。稍后我可能想添加数学功能,但我不想牺牲本机类型的内存或性能质量,因为该程序对大量数据进行操作。(它基本上是科学可视化。)
要插入Array.prototype
原型链,我尝试使用
vector.prototype = Object.create( Array.prototype );
Firefox 给我一个错误
TypeError: Array.prototype.toSource 在不兼容的对象上调用
这是 Firefox 中的错误吗?它似乎在 Webkit 中工作。
所以,我尝试使用Float32Array
哪个更接近我想要的,并且无论如何默认为零初始化。
var vector = function( size ) { Float32Array.call( this, size ); }
vector.prototype = Object.create( Float32Array.prototype );
在 Firefox 中,它会运行,但new
不会正确初始化对象。在 Webkitnew vector
中抛出异常。如果我使用它没有区别vector.prototype = Float32Array.prototype
。
我从根本上要求太多了吗?