03 2020 档案
摘要:Ajax原理和XmlHttpRequest对象 Ajax相当于在用户和服务器之间加了—个中间层,使用户操作与服务器响应异步化。并不是所有的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎自己来做, 只有确定需要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。 Ajax的
阅读全文
摘要:JS语言的一大特点就是单线程,为了协调事件,用户交互,脚本,UI渲染和网络处理等行为,防止主线程的不阻塞,Event Loop的方案应运而生。 根据规范,事件循环是通过任务队列的机制来进行协调。一个事件循环中,可以有一个或者多个任务队列,一个任务队列是一系列有序任务的集合;每个任务都有一个任务源,源
阅读全文
摘要:定义:函数A内部有函数B,且B能访问A的内部变量,B就是闭包。 用法:1.读取函数内部的变量;2.变量的值始终保持在内存中,不会在外层调用后自动清除。 优点:1:变量长期驻扎在内存中; 2:避免全局变量的污染; 3:私有成员的存在 ; 特性:1:函数套函数; 2:内部函数可以直接使用外部函数的局部变
阅读全文
摘要:1)应用层进行DNS解析 通过域名解析成IP地址。在解析过程中,按照浏览器缓存、系统缓存、路由器缓存、ISP(运营商)DNS缓存、根域名服务器、顶级域名服务器、主域名服务器的顺序,逐步读取缓存,直到拿到IP地址。 DNS协议是一个查询/回复的协议,查询和回复的数据格式相同。当一个应用需要把域名解析为
阅读全文
摘要:本质上,webpack 是一个现代 JavaScript 应用程序的静态模块打包器(module bundler)。当 webpack 处理应用程序时,它会递归地构建一个依赖关系图(dependency graph),其中包含应用程序需要的每个模块,然后将所有这些模块打包成一个或多个 bundle。
阅读全文
摘要:进程可看作系统中正在运行的一个程序,是系统资源分配的独立实体。每一个进程都有独立的地址空间,无法访问另一个进程的变量和数据结构,除非使用进程间的通信,比如管道,文件,套接字等。 一个进程可以拥有多个线程,每个线程使用所属进程的栈空间。 线程与进程的一个主要区别是,同一进程内的多个线程会共享部分状态,
阅读全文
摘要:TCP与UDP的区别 UDP协议是面向无连接的,也就是说不需要在正式传递数据之前连接起双方;UDP协议只是数据报文的搬运工,不保证有序且不丢失地传递到对端,具有不可靠性和高效性,适用于实时性要求高的地方;UDP支持一对多,多对多,多对一的传输方式。 TCP在建立连接和断开连接都需要先进行握手,在传输
阅读全文
摘要:对象类型在赋值的过程其实是复制了地址,从而会导致改变了一方另一方也会改变。如下例子: let a = { age: 1}let b = aa.age = 2console.log(b.age) // 2 然而在开发中我们一般不希望出现这样的问题,于是就有了浅拷贝方法。 首先可以通过 Object.a
阅读全文
摘要:当我们创建一个对象时 let obj = { age: 25 },我们可以发现能使用很多种函数,但是我们明明没有定义过它们。 当我们在浏览器中打印 obj 时你会发现,在 obj 上居然还有一个 __proto__ 属性,那么看来之前的疑问就和这个属性有关系了。 每个js对象都有__proto__
阅读全文
摘要:function foo() { console.log(this.a) } var a = 1 foo() const obj = { a: 2, foo: foo } obj.foo() const c = new foo() 先来看几种常见的用法场景: 1)对于直接调用foo来说,this指向
阅读全文
摘要:所谓单页应用,指的是在一个页面上集成多种功能,甚至整个系统就只有一个页面,所有的业务功能都是它的子模块,通过特定的方式挂接到主界面上。它是AJAX技术的进一步升华,把AJAX的无刷新机制发挥到极致,因此能造就与桌面程序媲美的流畅用户体验。 为了解决单页应用规模增大时候的代码逻辑问题,出现了不少MV*
阅读全文
摘要:1)userdata 仅适用于IE,每个页面只能存储64kb,该域名网站最多存储640kb; userdata重点使用语法: UserData.o = document.createElement('input'); UserData.o.type = "hidden"; UserData.o.st
阅读全文
摘要:跨域 广义上指一个域上的文件或脚本试图去请求另一个域的资源; 狭义上指由浏览器同源策略限制的一类请求; 同源策略 同源策略/SOP(Same origin policy)是一种约定,由Netscape公司1995年引入浏览器,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,浏览器很容易受到X
阅读全文
摘要:1)SQL注入 定义:攻击方提交一段数据库查询代码,获取他想知道的信息。 原因: 对于输入检查不充分,将用户提交的非法数据当作命令来执行;部分WEB应用采用Jsp+JavaBean或SSH框架,代码中会有直接写SQL(或HQL)语句,而有些SQL是用拼串实现的。 预防措施 严格限定参数类型,明确参数
阅读全文
摘要:快速排序 具体步骤可分为: 1)从数组中取出一个数作为基准key,例如取i=0的元素,此时0位置相当于挖了一个坑 2)j从数组末尾开始扫描,遇到小于key的元素将其放到i=0处,自己的坑待填补 3)调换顺序,i从数组头部开始扫描,遇到大于key的元素将其放到步骤2的坑中 4)重复以上反复查找的过程,
阅读全文
摘要:本篇随笔涉及的知识点有 let和const; 继承; Proxy; 模块化; 操作数组map, filter, reduce 数据结构set和map 数据类型Symbol 1.var,let以及const区别 不被挂载到window:在全局作用域下使用let,const声明变量,变量是不会被挂载到w
阅读全文
摘要:缓存是性能优化中一种简单高效的方式,可以减少网络传输造成的损耗。 缓存位置:当用户发出请求的时候,浏览器会依次寻找缓存,都没有命中才会请求网络 Service Worker Memory Cache Disk Cache Push Cache 网络请求 Service Worker 实现缓存功能一般
阅读全文
摘要:性能优化有很多内容 1)图片优化 减少图片大小:减少像素点;减少每个像素点能显示的颜色; 图片加载优化: 对于移动端来说,CDN加载可以计算适配屏幕的宽度,然后请求裁剪好的图片; 小图使用base64; 将多个图标文件整合到一张图片中; 选择正确的图片样式:webP格式具有更好的图像数据压缩算法,带
阅读全文
摘要:上回通过总线机制实现了非父子组件间的传值,这篇随笔将使用vue的生态机制vuex实现数据共享。 这是官方文档中的图片: state存储的是数据本身,在所有组件中都可以通过$store.state.data访问; this.dispatch('event', data)调用actions,在actio
阅读全文
摘要:该项目是学习vue的时候在慕课网上看《Vue2.5 开发去哪儿网 App 从零基础入门到实战项目》做的,目的是提升自己的实战能力,处理在开发过程需要注意的问题。 组件的实现 首页 header用vuex获取城市信息 轮播通过vue-awosome-swiper实现 景点图文通过axios获取数据 城
阅读全文
浙公网安备 33010602011771号