我在javascript中使用了较新的类定义,但是我无法让netbeans识别它们。有什么方法可以更新netbeans中突出显示的代码吗?例如,下面的代码现在被标记为错误:
class Polygon {
constructor(height, width) {
this.height = height;
this.width = width;
}
}
Run Code Online (Sandbox Code Playgroud) 我需要将 2 个现有 arrayBuffer 的 2 部分组合成一个新的。
我正在构建一个解析器,数据来自随机大小的数组缓冲区,数据将溢出一个解析器的末尾,进入另一个解析器的开头。因此,我需要创建一个新的输出缓冲区,并复制一个缓冲区末尾的一部分和另一个缓冲区开头的一部分。输出只是一个数组缓冲区。
从这个演示开始,我打算制作带有一些偏移量的 Uint8Arrays,然后使用 set,问题是某些组合会抛出异常Invalid typed array length。我事先不知道每个数组的长度或偏移量。
var buffer1 = new ArrayBuffer(8);
var buffer2 = new ArrayBuffer(8);
var buffer3 = new ArrayBuffer(8);
var uint8_1 = new Uint8Array(buffer1);
var uint8_2 = new Uint8Array(buffer2);
var uint8_3 = new Uint8Array(buffer3);
uint8_1.fill(1);
uint8_2.fill(2);
var uint8_1_slice = new Uint8Array(buffer1 , 0 , 3);
var uint8_2_slice = new Uint8Array(buffer2 , 4, 7);
Run Code Online (Sandbox Code Playgroud)
对于此演示,需要将 buffer3 设置为 1,1,1,1,2,2,2,2。
无法使用切片
我正在使用Javascript vp8解码器进行工作,因此在这种情况下,对于Safari来说,需要一切都尽可能快,因为Webkit浏览器是目标平台。
需要运动矢量的结构。它几乎是一个2个字符的对象:
var test = { x:0, y:1 }
var testArray = new Uint8Array(2);
Run Code Online (Sandbox Code Playgroud)
这个
test.x = (test.x | 0 + 1) | 0;
test.y = (test.y | 0 + 1) | 0;
Run Code Online (Sandbox Code Playgroud)
在野生动物园中比这快得多:
testArray[0] = (testArray[0] + 1) | 0;
testArray[1] = (testArray[1] + 1) | 0;
Run Code Online (Sandbox Code Playgroud)
但是其他浏览器则相反。
为什么...?
尝试jsperf:https://jsperf.com/obj-vs-struct-7
在ios(仅桌面浏览器)上,编辑伪结构更快。
javascript ×3
typed-arrays ×2
class ×1
netbeans ×1
performance ×1
safari ×1
typedarray ×1
uint8array ×1
webkit ×1