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

网站开发的工作环境25个优秀个人网站设计模板

网站开发的工作环境,25个优秀个人网站设计模板,开发一个小程序要多少钱,wordpress twitter登陆引言 最开始我们看网页时,对网页的需求不高,显示点文字,显示点图片就很满足了,所以对于浏览器而言其操作的数据其实并不多(比如读取本地图片显示出来,或上传图片到服务器),那么浏览器…

引言

最开始我们看网页时,对网页的需求不高,显示点文字,显示点图片就很满足了,所以对于浏览器而言其操作的数据其实并不多(比如读取本地图片显示出来,或上传图片到服务器),那么浏览器这时就需要一个对象(我们知道js里一切皆为对象)来表示图片信息,我们知道图片是一个文件(文件存在电脑上,其实就是一坨二进制数字),所以就有了Blob(Binary Large Object),很大的二进制对象,由此可见(小到字符串,大到文件都可以用这个二精致大对象来表示),而File就是Blob对文件实现的一种(File是基于Blob做了很多扩展)


  1. blob

对象表示一个不可变原始数据数据类文件

//api形式
const blob = new Blob(array,options);
  1. file

描述文件信息的一个对象

//api形式
const file  =  new File(bits,name[,options])
  1. FormData

一种数据格式,用于表单的上传

  1. ArrayBuffer

ArrayBuffer对象代表储存二进制数据的一段内存,它不能直接读写,只能通过视图(TypedArray视图和DataView视图)来读写,视图的作用是以指定格式解读二进制数据。ArrayBuffer也是一个构造函数,可以分配一段可以存放数据的连续内存区域。

const buf = new ArrayBuffer(32);

ArrayBuffer.prototype.slice()

const buff = new ArrayBuffer(32);
console.log(buff.byteLength);//32
const newBuffer = buff.slice(0, 3);

除了slice方法,ArrayBuffer对象不提供任何直接读写内存的方法,只允许在其上方建立视图,然后通过视图读写。
5. DataView

ArrayBuffer对象、TypedArray视图和DataView视图是 JavaScript
操作二进制数据的一个接口。简单说,ArrayBuffer对象代表原始的二进制数据,TypedArray视图用来读写简单类型的二进制数据,DataView视图用来读写复杂类型的二进制数据。很多浏览器操作的
API,用到了二进制数组操作二进制数据,下面是其中的几个。

const buf = new ArrayBuffer(32);
const dataView = new DataView(buf);
dataView.getUint8(0) // 0, 参数表示读取的起始位置
  1. TypedArray

TypedArray视图,与DataView视图的一个区别是,它不是一个构造函数,而是一组构造函数,代表不同的数据格式。

const buffer = new ArrayBuffer(12);const x1 = new Int32Array(buffer);
x1[0] = 1;
const x2 = new Uint8Array(buffer);
x2[0] = 2;console.log(x1[0]); //2
数据类型字节长度含义对应的 C 语言类型
Int818 位带符号整数signed char
Uint818 位不带符号整数unsigned char
Uint8C18 位不带符号整数(自动过滤溢出)unsigned char
Int16216 位带符号整数short
Uint16216 位不带符号整数unsigned short
Int32432 位带符号整数int
Uint32432 位不带符号的整数unsigned int
Float32432 位浮点数float
Float64864 位浮点数double
  1. WebSocket

WebSocket可以通过ArrayBuffer,发送或接收二进制数据。

 1 let socket = new WebSocket('ws://127.0.0.1:8081');2 socket.binaryType = 'arraybuffer';3 4 // Wait until socket is open5 socket.addEventListener('open', function (event) {6   // Send binary data7   const typedArray = new Uint8Array(4);8   socket.send(typedArray.buffer);9 });
10 
11 // Receive binary data
12 socket.addEventListener('message', function (event) {
13   const arrayBuffer = event.data;
14   // ···
15 });
  1. Fetch

Fetch API 取回的数据,就是ArrayBuffer对象。Fetch 是 window.fetch,fetch() 方法必须接受一个参数:要请求的路径,和一个可选参数 Request 对象。无论请求成功与否,它都返回一个 Promise 对象

优点:fetch 会自己的匹配数据类型设置 content type, 所以发送json 或者formdata 等其他数据类型的时候,不需要你手动设置

在这里插入图片描述缺点:
1.兼容性,fetch的兼容性并不太好,ie 和 safari 都不支持, 返回的reponse body 是readable stream 不支持
解决方案: 使用第三方库 whatwg-fetch, 如果同构在node端使用isomorphic-fetch.

获取后端数据的方式

  1. 刷新页面:最直接但是最体验最差的一种方式

  2. form表单:会触发页面跳转,无法实现页内重复请求

  3. ifream:比较消耗性能,且控制成本过高

  4. Ajax - 使用XMLHttpRequest对象进行异步请求,极大的提高了用户体验,实现了页内请求

  5. Fetch - Ajax的替代者,浏览器内置方法,封装了Promise机制,优化了异步问题

  6. jQuery - 一种前端框架,封装了数据请求模块,但体积较大

  7. axios、request等众多第三方开源库:对原生方法的二次封装,各有优劣势,百家争鸣

// 其中
// imgObj = 上面那个对象
// imgObj.url = blob:http://10.1.10.122:10086/4ebc5d64-bd9a-4994-8212-addf476ba2c2const imgBlob = await fetch(imgObj.url). then(r => r.blob())//把blob字符串变成Blob对象,
const imgFile = new File([imgBlob], imgObj.file.name , { type: imgBlob.type })
const formData = new FormData();
formData.append("file", imgFile);
const res: any = await http.post("/api/uploadFile",formData);
http://www.yayakq.cn/news/141747/

相关文章:

  • 选择合肥网站建设广州学建网站
  • 订房网站开发双流区的规划建设局网站
  • 婚纱网站怎么做wordpress密码长度
  • 城乡建设部网站自助商品房友情链接检测659292
  • 代理网站有什么用网络商城运营
  • 做邮轮的网站酷炫html5网站
  • 微企点建站怎么样怎么找到某个wordpress
  • 佛山网站设计平台seo外链专员工作要求
  • 海外服务器价格宁波网站优化平台
  • 推荐一个做健身餐的网站海珠建网站公司
  • 做蓝牙音箱在什么网站上找客户wordpress 按别名
  • 中山小榄网站建设国外网站怎样建设
  • 企业网站导航一般做多高浙江中立建设有限公司网站
  • 浙江专业网页设计免费建站centos7.2做网站
  • 安吉网站建设公司潍坊企业网站
  • 石家庄定制建站高德vr全景地图下载
  • 漂浮广告网站淮北论坛最新招聘
  • 大兴安岭网站制作免费网站模版
  • 朝阳网站建设公司电话wordpress页面之间如何跳转
  • 章丘网站优化集约化网站建设情况
  • 厦门一个平台做网站啥的汉中市网站建设
  • 江苏网站建设效果好网站服务器怎么进
  • wordpress新站不收录镇江集团网站建设
  • 排版漂亮的网站公司网站可以自己做吗
  • 网站建设开发服务费税率做网站要会哪些知识
  • 网站展示效果图上线倒计时单页网站模板
  • 网站开发服务合同模板网站平台策划方案
  • 别墅效果图网站网红营销的概念
  • 哈尔滨网站建立公司wordpress 装饰模板
  • 视频网站模板源码太原seo招聘