2012-06-14 36 views
3

我在做服務器端JavaScript,我需要一個特定大小的字節的類型數組。 我想:如何在Javascript中聲明一個字節數組

var buf = [1024]; (guives me Cannot convert [email protected] to byte[] error) 
var buf = byte[1024]; (wrong synthax) 

什麼synthax?

+2

得到了一點lisp? :) –

+5

JavaScript中沒有「字節」類型。然而,JavaScript的新版本中有「類型化數組」,在新的瀏覽器和V8中都支持。你想要的是一個「Int8Array」或「Uint8Array」。 – Pointy

+0

@Pointy我只聲明:var buf = new Int8Array()? – Gab

回答

4

這取決於您使用的服務器端JavaScript包。不同的包實現了不同風格的JavaScript和不同版本的ECMAScript。

在v0.6.x的NodeJS您可以訪問類型數組。創建這些數組其中之一是相當簡單的。

// creating an array of bytes, with 1024 elements 
var bytes = new Uint8Array(1024); 

還有其他類型的數組可用,處理16位和32位整數。

// creating an array of 16 bit integers, with 128 elements 
var array_16bit = new Uint16Array(128); 

// creating an array of 32 bit integers, with 16 elements 
var array_32bit = new Uint32Array(16); 

當使用類型化數組時,需要記住一些事情。類型化數組不會繼承標準數組原型,並且這些數組具有不可變的長度。