当前位置: 首页 > news >正文

农业网站建设方案 ppt模板南京关键词优化软件

农业网站建设方案 ppt模板,南京关键词优化软件,天元建设集团有限公司属于什么企业,海口 做网站js字节数组#xff0c;进制转换js基础知识数组 Array扩展操作符三个点#xff08;...#xff09;ArrayBufferslice() 数组复制reduce 对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值splice 数组删除#xff0c;添加#xff0c;替换js 字节数组转数字以及… js字节数组进制转换js基础知识数组 Array扩展操作符三个点...ArrayBufferslice() 数组复制reduce 对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值splice 数组删除添加替换js 字节数组转数字以及数字转字节数组js基础知识 数组 Array js数组是js中的一种特殊的内置对象索引更像是属性名只是刚好是整数。在js中数组是无类型限制的即数组的元素可以是任意类型包括自定义对象。js数组是基于零且使用32位数值索引的从最小0到最大2^32-2js数组是动态的js数组可以是稀疏的即元素不一定有连续的索引中间可能有缝隙 对于稀疏数组length是大于所有元素的最高索引。数组从Array.prototype继承属性这个原型定义了很多数组操作方法。并且很多都是泛型的 var arr1 new Array(); //创建空数组 var arr2 new Array(20); //创建一个包含20项的数组 var arr3 new Array(123) //包含三个数值的数组 var arr4 []; //创建一个空数组 var arr5 [20]; // 创建一个包含1项的数组 var arr6 [1.1,true,a]; // 创建一个包含3个不同类型元素的数组 //如果数组字面量中连续包含多个逗号且逗号之间没有值则这个数组为稀疏数组 let count [1,,3]; //索引0和2有元素索引1没有元素但是按索引访问时返回undefined//数组字面量允许末尾出现逗号因此[ , ,]的长度是2不是3扩展操作符三个点… 解构赋值 //解构赋值可以从等号右侧的值中提取一个或多个保存到左边的变量中 let [a, b] [1, 2] //let a1 b2 //通常情况左侧多余的变量会被设置为undefined右侧多余的变量会被忽略 let [a, b] [1] //a1, yundefined [a,b] [1, 2, 3] //a1, b2用于展开数组的元素: let a [1, 2, 3] let b [0, ...a, 4] //b [0, 1, 2, 3, 4]ArrayBuffer 名称占用字节描述Int8Array18位二补码有符号整数Uint8Array18位无符号整数Uint8ClampedArray18位无符号整型固定数组(数值在0~255之间)Int16Array216位二补码有符号整数Uint16Array216位无符号整数Int32Array432 位二补码有符号整数Uint32Array432 位无符号整数Float32Array432 位 IEEE 浮点数Float64Array864 位 IEEE 浮点数 Unit8Array 指的是把 ArrayBuffer 的每个 byte(8-bit) 当作一个单独的无符号整型数字 (0 - 255) Unit16Array 表示为使用 16 bits (2 bytes) 表示一个无符号整型 (0 ~ 2^16-1) 的数的数组 Int8Array 表示使用 8 bits 表示一个有符号整型 (-128 ~ 127)Float32Array 表示使用 32 bits 表示一个浮点数Unit7ClampedArray 在 0 255 范围内和 Unit8Array 是一样的对超出范围的处理有所不同和图像处理相关一般像素范围也是 0 255 每个ArrayBuffer对象表示的只是内存中指定的字节数; 但不会指定这些字节用于保存什么类型的数据 通过ArrayBuffer能做的就是为了将来使用而分配一定数量的字节. var arraybuffer new ArrayBuffer(8);//实例化时仅需传入字节数 生成了字节长度为8的内存区域 ArrayBuffer.length; // 1 arraybuffer.byteLength; // 通过提供的 byteLength 属性返回分配字节的长度 8var int8a new Int8Array(arraybuffer);//类方法ArrayBuffer.isView()判断某对象是否为视图 ArrayBuffer.isView(int8a) //return trueslice() 数组复制 通过索引位置获取新的数组该方法不会修改原数组只是返回一个新的子数组。 用法arrayObj.slice(start,end) arrayObj - 原始数组; start - 必填设定新数组的起始位置如果是负数则表示从数组尾部开始算起-1 指最后一个元素-2 指倒数第二个元素以此类推。 end - 可选设定新数组的结束位置如果不填写该参数默认到数组结尾如果是负数则表示从数组尾部开始算起-1 指最后一个元素-2 指倒数第二个元素以此类推。 例1获取仅包含最后一个元素的子数组 var arr[1,2,3,4,5]; arr.slice(-1);//[5]例2获取不包含最后一个元素的子数组 var arr[1,2,3,4,5]; arr.slice(0, -1);//[1,2,3,4]例3获取包含 从第二个元素开始的所有元素的子数组 var arr[1,2,3,4,5]; arr.slice(1);//[2,3,4,5]reduce 对数组中的每个元素执行一个提供的函数,将其结果汇总为单个返回值 reduce方法可做的事情特别多就是循环遍历能做的reduce都可以做比如数组求和、数组求积、数组中元素出现的次数、数组去重等等。 语法 arr.reduce(function(prev,cur,index,arr){ ... }, init);参数 prev 必需。累计器累计回调的返回值; 表示上一次调用回调时的返回值或者初始值 init; cur 必需。表示当前正在处理的数组元素 index 可选。表示当前正在处理的数组元素的索引若提供 init 值则起始索引为- 0否则起始索引为1 arr 可选。表示原数组 init 可选。表示初始值。 splice 数组删除添加替换 array.splice(index,howmany,item1,…,itemX) 参数描述index必需。规定从何处添加/删除元素。 该参数是开始插入和或删除的数组元素的下标必须是数字。howmany可选。规定应该删除多少元素。必须是数字但可以是 0。 如果未规定此参数则删除从 index 开始到原数组结尾的所有元素。 item1, ..., itemX 可选。要添加到数组的新元素 //移除数组的第三个元素并在数组第三个位置添加新元素: var fruits [Banana, Orange, Apple, Mango]; fruits.splice(2,1,Lemon,Kiwi); fruits 输出结果 Banana,Orange,Lemon,Kiwi,Mango//从第三个位置开始删除数组后的两个元素 var fruits [Banana, Orange, Apple, Mango]; fruits.splice(2,2); fruits 输出结果 Banana,Orange js 字节数组转数字以及数字转字节数组 javascript通过ArrayBuffer和DataView实现字节数组和数字之间的相互转换 这里的所有函数用的都是大端字节序高位在前低位在后即数据的高字节保存在内存的低地址中而数据的低字节保存在内存的高地址中 举例2个字节的无符号整型1的二进制表示 大端模式 0000 0000 0000 0001 小端模式 0000 0001 0000 0000 //构建一个视图把字节数组写到缓存中索引从0开始大端字节序function getView(bytes) {var view new DataView(new ArrayBuffer(bytes.length));for (var i 0; i bytes.length; i) {view.setUint8(i, bytes[i]);}return view;}//将字节数组转成有符号的8位整型大端字节序function toInt8(bytes) {return getView(bytes).getInt8();}//将字节数组转成无符号的8位整型大端字节序function toUint8(bytes) {return getView(bytes).getUint8();}//将字节数组转成有符号的16位整型大端字节序function toInt16(bytes) {return getView(bytes).getInt16();}//将字节数组转成无符号的16位整型大端字节序function toUint16(bytes) {return getView(bytes).getUint16();}//将字节数组转成有符号的32位整型大端字节序function toInt32(bytes) {return getView(bytes).getInt32();}//将字节数组转成无符号的32位整型大端字节序function toUint32(bytes) {return getView(bytes).getUint32();}//将字节数组转成32位浮点型大端字节序function toFloat32(bytes) {return getView(bytes).getFloat32();}//将字节数组转成64位浮点型大端字节序function toFloat64(bytes) {return getView(bytes).getFloat64();}//将数值写入到视图中获得其字节数组大端字节序function getUint8Array(len, setNum) {var buffer new ArrayBuffer(len); //指定字节长度setNum(new DataView(buffer)); //根据不同的类型调用不同的函数来写入数值return new Uint8Array(buffer); //创建一个字节数组从缓存中拿取数据}//得到一个8位有符号整型的字节数组大端字节序function getInt8Bytes(num) {return getUint8Array(1, function (view) { view.setInt8(0, num); })}//得到一个8位无符号整型的字节数组大端字节序function getUint8Bytes(num) {return getUint8Array(1, function (view) { view.setUint8(0, num); })}//得到一个16位有符号整型的字节数组大端字节序function getInt16Bytes(num) {return getUint8Array(2, function (view) { view.setInt16(0, num); })}//得到一个16位无符号整型的字节数组大端字节序function getUint16Bytes(num) {return getUint8Array(2, function (view) { view.setUint16(0, num); })}//得到一个32位有符号整型的字节数组大端字节序function getInt32Bytes(num) {return getUint8Array(4, function (view) { view.setInt32(0, num); })}//得到一个32位无符号整型的字节数组大端字节序function getUint32Bytes(num) {return getUint8Array(4, function (view) { view.setUint32(0, num); })}//得到一个32位浮点型的字节数组大端字节序function getFloat32Bytes(num) {return getUint8Array(4, function (view) { view.setFloat32(0, num); })}//得到一个64位浮点型的字节数组大端字节序function getFloat64Bytes(num) {return getUint8Array(8, function (view) { view.setFloat64(0, num); })}下面几个为另一种实现方式的版本只实现了简单几种其他的实现起来比较麻烦所以就中途放弃了function toInt32(bytes) {return ((bytes[0] 0xFF) 24) | ((bytes[1] 0xFF) 16) | ((bytes[2] 0xFF) 8) | (bytes[3] 0xFF);}function toUInt16(bytes) {return ((bytes[0] 0xFF) 8) | (bytes[1] 0xFF);}function toInt16(bytes) {return bytes[0] 7 0 ? toUInt16(bytes) : toUInt16(bytes) - 65536;}function getInt32Bytes(num) {return [num 24 0xFF, num 16 0xFF, num 8 0xFF, num 0xFF];}function getUint16Bytes(num) {return [num 8 0xFF, num 0xFF];}function getInt16Bytes(num) {return num 0 ? getUint16Bytes(num) : getUint16Bytes(65536 num);} //将数值写入到视图中获得其字节数组大端字节序function getUint8Array(len, setNum) {var buffer new ArrayBuffer(len); //指定字节长度setNum(new DataView(buffer)); //根据不同的类型调用不同的函数来写入数值var uint8Array new Uint8Array(buffer); //创建一个字节数组从缓存中拿取数据var arr new Array(); //将Uint8Array转成Array数组不考虑性能问题for (var i 0; i uint8Array.byteLength; i) { arr.push(uint8Array[i]);}return arr;}
http://www.hkea.cn/news/14348531/

相关文章:

  • 网站源码建设模板wordpress 搜索 高亮
  • 各大网站搜索引擎提交入口用阿里云服务器做自己购物网站
  • 数商云公司番禺seo
  • 高明网站设计哪家服务好wordpress一直刷不出来
  • 做淘客网站用什么程序深圳注册公司地址怎么解决
  • 山西住房和城乡建设部网站wordpress 添加关键词
  • 软件下载网站如何履行安全管理网站建设账务处理
  • 网站开发费 无形资产网页设计与网站建设景点介绍
  • 做gif的网站秦皇岛建设工程交易网
  • 推广优化公司网站信阳公司做网站
  • 天津建设教育培训中心网站谷歌镜像网站怎么做
  • 微商软件商城总站本科自考什么机构比较正规
  • 青海省wap网站建设公司北京做家政网站有哪些平台
  • 广州网站推广方案互联网营销的方法
  • 南宁网站设计要多少钱做素材类的网站赚钱吗
  • 湖北网站建设哪家专业汕头百度网站排名
  • 郴州建设局门户网站长沙十大科技公司
  • 网站建设 博采10m网站空间
  • 旅游类网站怎么做技术培训平台
  • 古交市网站建设公司网站建设捌金手指花总二八
  • 西安网站开发xamokj用wordpress做什么内容
  • 淮安做网站就找卓越凯欣团员电子档案查询网
  • h5网站建设+北京对网页设计作品的意见
  • 大型门户网站建设方案百度云建站教程
  • 华亭县门户网站外贸建站模板下载
  • 网站备案有幕布建设银行网站调用支付源码
  • 湖南企业网站营销设计网易考拉的网站建设
  • 凉山西昌网站建设wordpress主题图片丢失
  • 电商网站网络服务重庆网站建设外包哪家好
  • 下城区做网站猎聘网招聘网页版