JavaScript Blob对象原理及用法详解
本文详细介绍JavaScript中Blob对象的原理与应用。Blob表示不可变的原始数据,支持从字符串、JSON等构造。文章涵盖Blob.size属性获取字节大小,以及slice()方法截取指定字节范围数据,适用于处理二进制文件、音视频及动态创建Blob URL等场景。
Blob对象概述
Blob是JavaScript语言中的内建对象,用于表示不可变的原始数据,其功能类似于文件对象。
Blob代表一种不可变的原始数据对象,这些数据未必是JavaScript的原生格式。文件接口(File API)基于Blob构建,继承了Blob的功能并扩展了支持用户本地文件系统文件的能力。
Blob对象具有多种应用场景:
可以从网络资源中创建。
可以保存至磁盘或从磁盘读取。
例如,FileReader API中使用的File对象,其基础数据结构即为Blob。
我们可以利用Blob()构造函数,从其他非Blob类型的数据或对象来构造新的Blob实例。
Blob构造函数
Blob构造函数
Blob构造函数允许开发者从其他对象创建Blob实例,例如从字符串数据构造Blob。
let hero = {name: 'Batman'} let blobObject = new Blob([jsON.stringify(hero, null, 2)], { type: 'application/json' }); console.log(blobObject);
在浏览器环境中运行上述代码,控制台将输出相应的Blob对象信息。

获取Blob大小
Blob size 属性
通过Blob.size属性,可以获取Blob或File对象的大小,单位为字节。
var sizeInBytes = blob.size
参考以下示例代码。
let hero = {name: 'Batman'} let blobObject = new Blob([JSON.stringify(hero, null, 2)],{ type: 'application/json' }); console.log(blobObject.size);
上述代码将输出数值:22
截取Blob数据
Blob.slice() 方法
Blob.slice()函数用于生成一个新的Blob对象,新对象包含源Blob中指定字节范围的数据。
instanceOfBlob.slice([start [, end [, contentType]]]);
参考以下代码示例。
let hero = {name: 'Batman'} let blobObject = new Blob([JSON.stringify(hero, null, 2)], { type: 'application/json' }); console.log(blobObject.slice(10, 16, { type: 'application/json' }));
输出结果

总结
总结
在处理二进制远程文件时,Blob对象非常实用。
Blob对象可能包含大量数据,例如音频和视频文件。我们可以动态创建Blob,并通过Blob URL将其用作文件。通过多种不同的使用方式,可以充分发挥Blob的效用。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持本站。
什么时候该用JS构造器:与工厂模式、字面量的选择对比
2026-11-05 16:18:22
推荐几款轻量级JS照片墙开源库及对比
2026-11-05 15:56:19
JavaScript递归写法有哪些常见陷阱及避免方法
2026-11-05 14:53:38
JS数组浅拷贝与深拷贝怎么选?场景与方法总结
2026-11-05 14:41:02
p5.js 中 setup() 和 draw() 函数的执行机制详解
2026-11-05 12:32:38
