JavaScript中"ArrayBuffer"对象与"Blob"对象到底有什么区别?

MDN上是这样解释的:

Blob对象表示一个不可变、原始数据的类文件对象。
Blob表示的不一定是JavaScript原生格式的数据。
ArrayBuffer对象用来表示通用的、固定长度的原始二进制数据缓冲区。
ArrayBuffer不能直接操作,而是要通过[类型数组对象]或[DataView]对象来操作,它们会将缓冲区中的数据表示为特定的格式,并通过这些格式来读写缓冲区的内容。

MDN解释太抽象了,看得我云里雾里的。

Blob对象与ArrayBuffer对象都是二进制的容器,它们到底有什么区别?

能不能用浅显易懂的描述解释一下?

阅读 3k
1 个回答

Blob 不是 ecma262 定义的,它是 W3C File API 里定义的一个 interface ,是与 File API 里其它接口、函数配合使用的。

ArrayBuffer 是 ECMA262 定义的对象。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题