mqttws.js mqttws31 是一个 MQTT(Message Queue Telemetry Transport)客户端库,可以用于在浏览器中实现与 MQTT 代理服务器的通信mqttws31 提供了一个基于 WebSocket 协议的 MQTT 客户端实现,可以将 MQTT 协议封装在 WebSocket 协议之上,使得客户端可以通过浏览器向 MQTT 代理服务器发送和接收消息。
MQTT.js mqtt.js是一个开源的MQTT协议的客户端库,使用 JavaScript 编写,主要用于 Node.js 和 浏览器环境中。是目前 JavaScript 生态中使用最为广泛的 MQTT 客户端库。MQTT 是一种基于发布/订阅模式的轻量级物联网消息传输协议,可以用极少的代码和带宽为联网设备提供实时可靠的消息服务。
前端文件下载-ajax下载完毕回调 自己封装的问题很多会考虑不周,比如登录超时提示等等;兼容性问题 XMLHttpRequest 以及 Blob这些方法的支持问题。缺点: 性能影响(待定,大文件应该能体现);格式,后端返回的格式假如不固定该如何处理还没想好;优点: 下载可控,可以随时停止下载,修改文件名,显示下载进度,提示等待以及回调 等等。文件导出,导出的时间段内,希望可以弹出加载中,一直到后台返回文件。通过下载文件流,前端生成文件。
微信小程序基础 详细的使⽤,可以查看官⽹data-*使用 name 属性,作为模板的名字。然后在内定义代码片段,如事件是视图层到逻辑层的通讯方式。事件可以将用户的行为反馈到逻辑层进行处理。事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数。事件对象可以携带额外信息,如 id, dataset, touches。
nodejs基础一(REPL环境,模块化,异常处理,url,queryString,path,util) node1. nodejs简介2. REPL环境3. 模块化3.1 package.json3.2 CommonJS模块化特点modulerequire3.3 ECMAScript 模块exportimport3.4 核心模块4.异常处理4.1 try-catch4.2 回调函数4.3 EventEmitter接口的error事件5. url模块5.1 url.parse()5.2 url.format()5.3 url.resolve(from,to)5.4 url.hash5.5 url.host5.6
nodejs基础四(express框架) express框架手动创建工程核心代码路由定义路由参数response方法中间件cookie和sessionexpress是基于 Node.js 平台,快速、开放、极简的 Web 开发框架手动创建工程mkdir 文件名 创建工程文件夹cd 文件名 定位到工程文件夹npm init -y 初始化项目(package.json)npm i -S express 安装express目录结构:node_modules▽publicuser.html▽routersuser.js
重绘(repaint)和回流(reflow) 重绘和回流浏览器渲染(页面加载)的过程DOM 树 和 渲染树 的区别:回流触发reflow重绘重绘和回流(重排)的区别和关系减少回流浏览器渲染(页面加载)的过程解析 HTML 构建 DOM(DOM 树),并行请求 css/image/jsCSS 文件下载完成,开始构建 CSSOM(CSS 树)CSSOM 构建结束后,和 DOM 一起生成渲染树(render 树就是根据 可视化节点 和 css 样式表 结合诞生出来的树)布局(Layout):计算出每个节点在屏幕中的位置显示(Painting):
JavaScript继承 继承原型链继承特点缺点构造函数继承特点缺点原型链+借用构造函数组合继承特点缺点ES6中class继承特点继承有助于实现代码的复用。一个对象通过继承另一个对象,就能拥有另一个对象的所有属性和方法。原型链继承子类型的原型为父类型的一个实例对象 //父类型 function Person(name, age) { this.name = name, this.age = age, this.play = [1, 2, 3] this.se
从浏览器输入URL到渲染完整个页面的过程 从浏览器输入URL到渲染完整个页面的过程1.获取IP地址2.TCP/IP三次握手建立连接3.浏览器向web服务器发送http请求4.浏览器渲染5.四次挥手断开连接1.获取IP地址在应用层通过DNS将域名解析成IP地址。2.TCP/IP三次握手建立连接知道了服务器的IP地址后,浏览器利用tcp协议通过三次握手与服务器建立连接。建立连接需要三个过程(三次握手):客户机向服务器发送一个建立连接的请求(客户机向服务器拨打电话)服务器接到请求后发送同意连接的信号(服务器接听电话)主机接到同意连接的信号
web前端存储方式 web前端存储方式cookie本地存储localstorage本地存储sessionstorage应用程序缓存Application Cachecookiecookie是纯文本,没有可执行代码。存储数据,当用户访问了某个网站(网页)的时候,我们就可以通过cookie来向访问者电脑上存储数据,或者某些网站为了辨别用户身份、进行session跟踪而储存在用户本地终端上的数据(通常经过加密)。当网页要发http请求时,浏览器会先检查是否有相应的cookie,有则自动添加在request header中的co
HTTP与HTTPS的区别和通信过程 HTTP和HTTPSHTTP与HTTPS的区别HTTP的工作过程HTTPS的实现原理HTTPS的通信过程HTTP与HTTPS的区别安全性上,HTTPS是安全超文本协议,在HTTP基础上有更强的安全性。简单来说,HTTPS是使用TLS/SSL加密的HTTP协议申请证书上,HTTPS需要使用ca申请证书传输协议上, HTTP是超文本传输协议,明文传输;HTTPS是具有安全性的 SSL 加密传输协议连接方式与端口上,http的连接简单,是无状态的,端口是 80; https 在http的基础上使用了ss
跨域与同源策略 跨域与同源策略url基础概念:url为统一资源定位符,俗称网址,用来标识某个资源在网络中的唯一位置。url组成:方案或协议;主机或IP地址;端口号;路径;查询参数;片段。例: http://www.example.com:80/path/to/myfile.html?key1=value1&key2=value2#SomewhereInTheDocument方案或协议:http:// 告诉浏览器使用哪种协议,大多数浏览器资源使用http协议或其安全版本HTTPS协议,其他协议 mailt
VueCLI3如何更改安装时的包管理器为yarn或npm VueCLI3如何更改安装时的包管理器为yarn或npm在执行 vue create project 后如果显示如下 npm run serve 则表示你使用的是npm创建的项目。如果显示如下 yarn serve 则表示此项目为yarn创建。那如何切换包管理器呢?在VueCLI3官网有如下一段描述:注意最后一句,明确的说明了包管理器和淘宝npm镜像源会存入 ~/.vuerc此文件如果是windows环境,则存在了 C:/user/administrator/ 下:打开此文件:只
算法-哈希表 哈希表哈希表基础有效的字母异位词哈希表基础哈希表其实就是一个数组。哈希表的关键码就是数组的索引下标,通过数组下标直接访问数组元素。哈希表可以解决的问题:一般哈希表用于快速判断一个元素是否出现在某个集合中。例如要查询一个名字是否在这所学校里。要枚举的话时间复杂度是O(n),但如果使用哈希表的话, 只需要O(1) 就可以做到。我们只需要初始化把这所学校里学生的名字都存在哈希表里,在查询的时候通过索引直接就可以知道这位同学在不在这所学校里了。将学生姓名映射到哈希表上就涉及到了哈希函数。哈希函数