2016-07-29 2 views
1

Рассмотрим этот код:узел JS - хранение больших чисел в ArrayBuffer

var b = new ArrayBuffer(2); 

b[0] = 1; 
b[1] = 23234322442; 

Количество в ячейке № 1 явно больше, чем 1 байт, однако ArrayBuffer не имеет никаких проблем с хранением, и когда я печатаю b в console Я вижу, что номер есть. Какое объяснение?

Спасибо.

ответ

1

Объект ArrayBuffer используется для представления общего буфера двоичных данных фиксированной длины. Вы не можете напрямую манипулировать содержимым ArrayBuffer; вместо этого вы создаете один из типизированных объектов массива или объект DataView, который представляет буфер в определенном формате, и используйте это для чтения и записи содержимого буфера. more

Так что, я думаю, когда вы звоните b[1], то вы не установите второй элемент буфера. Вы просто задаете b.1 свойство объекта, и это может быть что угодно (число, строка, объект, массив).

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