ajax的返回数据的类型有五中,,在研究three的loader的时候,突然发现ajax返回的数据还有arrayBuffer数据类型,以前我只知道返回文本,,于是我查阅资料,总结了一下,,以下是我的总结:
responseType的值如下五中:
《1》“ ”和 "text" 字符创(默认)
《2》“arraybuffer” ArrayBuffer 对象 二进制数据
《3》 “blob” blob 对象 (经常用于fileReader对象读取文件的值)
《4》 “document” document 对象
《5》 “json” json对象
对于字符串的我们已经经常用了,,这节我们讲解arraybuffer: 实现three的loader的原理,这里以TGALoader为例:
// content[ offset ++ ] | content[ offset ++ ] << 8, 位运算 <<的优先级高于 | ,
// 运算过程 192 | 3 << 8 ===》 192 | 768 , 3<<8 === 3 *Math.pow(2,8);
var offset = 0,
header = {
id_length: content[ offset ++ ],
colormap_type: content[ offset ++ ],
image_type: content[ offset ++ ],
colormap_index: content[ offset ++ ] | content[ offset ++ ] << 8,
colormap_length: content[ offset ++ ] | content[ offset ++ ] << 8,
colormap_size: content[ offset ++ ],
origin