传输ArrayBuffer,Blob,File和FormData对象的能力。
答案 0 :(得分:15)
这是一种替换旧方法的努力,该方法将采用“字符串”并将其切割出来。
当你需要一个类型化数组时,你会使用一个ArrayBuffer,因为你打算使用数据,当你需要文件数据时,你会使用一个blob。
Blob(根据规范,无论如何)有一个MIME空间,比其他格式更容易放入HTML5文件API(它更原生)。
ArrayBuffer允许我们使用类型化数组,它比字符串操作快得多,可以处理特定的字节,并让我们定义数组段实际上是什么类型。由于JavaScript不是严格类型的,因此很难将一个可能被分成32位整数或64位浮点数的文件(想象一下8位整数) - 这对于字符串操作和按位运算的性能来说是一场噩梦计算,特别是使用unicode)。
据我所知,你总是可以将blob移动到数组缓冲区或字符串表示形式,但这是XHR原生的,它允许脚本更快,这是主要优势。
我使用blob来处理文件API,但我会使用该数组对数据进行预先计算。