javaScript(十四) TypedArray,移动开发程序员怎么优雅迈过30K+这道坎

本文介绍了JavaScript中的TypedArray及其与ArrayBuffer的关系,展示了如何使用TypedArray进行数据操作,以及如何在实际开发中利用它们处理二进制数据。同时提到了前端开发中关于面试技巧和学习资源的分享。
摘要由CSDN通过智能技术生成

const x=new Int8Array([1,1]);

var z=new Int8Array(x.buffer);

x[0]=4;

console.log(x[0]) //输出4

console.log(z[0]) //输出4

第四种方式是:

new TypedArray(类型化数组),但是直接传入数组

const a=new Int8Array([1,2,3,4])

TypedArray方法

TypedArray.form(类数组):使用类数组或迭代对象创建一个新的类型化数组

TypedArray.of(元素0,元素1,元素2…元素n):通过可变数量的参数创建新的类型化数组

TypedArray原型

TypedArray.prototype.constructor:返回创建示例原型的构造函数

TypedArray.prototype.buffer:返回被格式化数组引用的ArrayBuffer,创建时已被固化,因此是只读的

TypedArray.prototype.byteLength:返回从ArrayBuffer读取的字节长度,创建时已被固话,因此是只读的

TypedArray.prototype.byteOffset:返回从ArrayBuffer读取时的字节偏移量,创建时已被固话,因此是只读的

TypedArray.prototype.lenghth:返回在类型化数组中的元素数量,创建时已被固化,因此是只读

TypedArray原型方法

普通数组的原型方法,TypedArray基本都有,例如every(),fill()等等

但是:

TypedArray没有concat()方法

而且下列是独有的:

**TypedArray.prototype.set()**代表:用于将数组(普通数组或TypeArray数组)中一段内容完全复制到另一段内存

**TypeArray.prototype.subArray()**代表:对于TypeArray数组的一部分,在建立一个新的视图

TypedArray和数组的区别

TypedArray数组
数组成员均为同一个类型可以是任意类型
数组成员是连续的,不会有空位非连续
数组的成员默认值均为0默认为空
视图,不存储数据存储数据

实际应用

传统意义上服务通过AJAX只能返回文本数据,responseType默认是一个text,但是在xhr中,可以设定为一个二进制数据,只需要将responseType设置成arraybuffer

var xhr=new XMLHttpRequest();

xhr.open(“GET”,“/myfile.png”,true);

xhr.responseType=“arraybuffer”;

xhr.οnlοad=function (oEvent) {

var arrayBuffer=xhr.response;

if (arrayBuffer){

var byteArray=new Uint8Array(arrayBuffer)

小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频

如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:前端)
img

其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)

开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】

《前端开发四大模块核心知识笔记》

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

21efff2a0cd1db5a9d4251.png)

最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

我意识到有很多经验和知识值得分享给大家,也可以通过我们的能力和经验解答大家在IT学习中的很多困惑,所以在工作繁忙的情况下还是坚持各种整理和分享。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值