TypedArray的初始化
new TypedArray(buffer,字节偏移量,长度)
buffer:可以传一个ArrayBuffer实例对象
字节偏移量:(可选)代表这个视图从内存中什么位置开始
长度:(可选)代表开始之后的长度多少,默认是到缓存结尾
示例:
//创建一个ArrayBuffer对象
const ab=new ArrayBuffer(8);
//创建一个指向ab的Int32视图,开始字节0,直到缓冲区末尾
const view1=new Int32Array(ab);
//创建一个指向ab的Int32视图,开始字节2,直到缓冲区末尾
const view1=new Int32Array(ab,2);
//创建一个指向ab的Int32视图,开始字节2,长度为2
const view1=new Int32Array(ab,2,2);
另外,可以只传一个参数,代表数组长度
new TypedArray(数组长度)
当传入数组长度时,一个内部数组缓存区被创建,该缓存区的大小是数组的长度乘以数组中每个元素的字节数,并且每个元素的值都是0;
示例:
var f64a=new Float64Array(8); f64a.forEach(x => console.log(x)); //输出:0 0 0 0 0 0 0 0
第三种方法是
new TypedArray(类型化数组)
当传入一个类型化数组作为参数时,那么这个类型化数组将被复制到一个新的类型化数组。
const x=new Int8Array([1,1]);
const y=new Int8Array(x);
x[0]=2;
console.log(x[0]) //输出2
console.log(y[0]) //输出1,不会随着X的改变而改变
这边y虽然是x复制过来的,但是y不会随着x修改,如果要求同步,那么,参数x得是x.buffer,意思是代表指向同一段地址
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,创建时已被固化,因此是只读的
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数前端工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Web前端开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!
如果你觉得这些内容对你有帮助,可以扫码获取!!(备注:前端)
最后
技术是没有终点的,也是学不完的,最重要的是活着、不秃。零基础入门的时候看书还是看视频,我觉得成年人,何必做选择题呢,两个都要。喜欢看书就看书,喜欢看视频就看视频。最重要的是在自学的过程中,一定不要眼高手低,要实战,把学到的技术投入到项目当中,解决问题,之后进一步锤炼自己的技术。
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。有需要面试题资料的朋友点击这里可以免费领取。
中,解决问题,之后进一步锤炼自己的技术。
技术学到手后,就要开始准备面试了,找工作的时候一定要好好准备简历,毕竟简历是找工作的敲门砖,还有就是要多做面试题,复习巩固。有需要面试题资料的朋友点击这里可以免费领取。
[外链图片转存中…(img-fSTHbtEH-1713507434756)]