2012-06-14 2 views
3

Я делаю серверный javascript, и мне нужно иметь типизированный массив байтов определенного размера. Я пробовал:Как объявить массив байтов в Javascript

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

Что такое synthax?

+2

получил немного шепота? :) –

+5

В JavaScript нет байтового типа. Есть, однако, «типизированные массивы» в очень новых версиях JavaScript, поддерживаемых в новых браузерах и в V8. То, что вы хотите, это «Int8Array» или «Uint8Array». – Pointy

+0

@Pointy я просто объявляю: var buf = new Int8Array()? – Gab

ответ

4

Это зависит от используемого кода сервера на стороне сервера. Различные пакеты реализуют различные варианты JavaScript и различные версии ECMAScript.

В NodeJS v0.6.x у вас есть доступ к типизированным массивам. Создание одного из этих массивов довольно тривиально.

// 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); 

При использовании типизированных массивов необходимо иметь в виду несколько вещей. Типизированные массивы не наследуют прототип стандартного массива, и эти массивы имеют неизменную длину.

Смежные вопросы