每一个不曾起舞的日子都是对生命的辜负。
当前浏览器数据储存方式主要有: cookies webStorage sessionStorage localStorage indexedDB 需要注意的是,它们都受同源策略限制,不能跨域访问 Cookiescookies的出现,并不是为了浏览器储存,而是为记录http状态,因为http是无状态协议;也就是服务器不知道用户上次做了什么,服务器可以通过设置,读取cookies,了解用户行为,每次请求都会带cookies,从而
什么是HTTP协议超文本传输协议,是互联网上应用最为广泛的一种网络协议,用于规范客户端和服务端通信. HTTP历史发展1. HTTP/0.9HTTP 的最早版本.没有 HTTP 头,没有状态码,甚至版本号也没有,只支持一种方法—— Get,只能传输文本. 2. HTTP/1.0 除了文字,还可以发送图片、视频等 请求与响应支持 HTTP 头,增加了状态码,响应对象的一开始是一个响应状态行 协议版本信息需要随着请求一起发送,支持 HEAD
常见问题题的总结v-show 与 v-if 区别v-show是css切换,v-if是完整的销毁或重建.频繁切换用v-show.较少改变用v-if,或者需要销毁组件、应用完整的生命周期也用v-if. computed和watch的区别computed本质是一个惰性求值的观察者,其内部实现了一个惰性的watcher即computed watcher.它不会在依赖变化时立即计算求值,首先会看有没有地方读取这个计算属性,有的话才会计算,并且比较
【vue执行过程源码分析】 Vue数据双向绑定原理 vue vue3 【diff算法】 【render函数】 【keep-alive原理】 【Router原理】 【Vuex原理】 VUE响应式原理核心是通过数据劫持和观察者模式(发布者-订阅者模式)实现的.简单实现: 观察者Observe 递归对一个实例的每一个属性值都进行观察 响应式监听属性的函数defineReactive 实例化Dep订阅器 Object.defineP
在执行上下文中介绍了this binding,也就是js的this有四种可执行代码能创建上下文,global code, function code,module,eval.接下来说global,function中this指什么. global code中thisjs执行global code前,创建全局上下文,入栈底,其中this binding绑定全局对象,浏览器中指window function code中thisJavaScri
关于闭包的定义 闭包是指有权限访问另一个函数作用域中变量的函数 函数 能访问另一个函数作用域中变量 执行完的执行上下文被弹出栈,其词法环境处于失联状态,外部不能直接访问,在这种情况下还保留了其词法环境的引用,通过引用能访问其词法环境,这个引用就是闭包 引用 失联词法环境通过其引用能访问到 一个函数和对其周围状态(词法环境)的引用捆绑在一起(或者说函数被引用包围),这样的组合就是闭包.也就是说,闭包可以让你在一个内层函数访问其外层
通过前几篇大致了解了js执行的一些机制,包括解析,执行,内存的分配等.众所周知js是单线程,所以只有一个执行栈,那么一些异步操作,dom操作是怎么实现的?V8引擎简单看包括内存分配和执行栈,可以看出,异步或dom操作等不归v8管.实际上浏览器有各个单独的线程处理异步(ajax,setTimout),dom事件等.js执行和页面渲染是互斥的,所以事情都由v8处理会造成卡顿,浏览器多线程和js执行栈完美避免了这种情况.异步经过其他线程处理结
内存回收js有自动垃圾回收机制,垃圾收集器会每隔一段时间执行一次释放操作,找出那些不再使用的值,将其释放 全局变量回收: 很难自动判断哪些需要回收,开发中应尽量避免使用全局变量 局部变量回收: 局部作用域中,当函数执行完毕,其中变量不需要了,就会被回收V8引擎对堆内存中js对象进行分代管理 新生代: 存活周期较短的对象,如临时的变量,字符串等 老生代: 多次回收后依然存在的,周期较长,如主控制器,服务器对象等 垃圾回收算法垃圾回收算
什么是内存从硬件层面看,计算机内存是由大量的 flip flops 所组成的(这里大概查了下,即大量的二进制电路所组成的,每个 flip flop 是一个电路拥有两种稳定状态,可用于保存状态信息)。每个 flip flop 包含少量晶体管并能够存储一个比特位。单个的 flip flops 可以通过一个唯一标识符寻址,所以就可以读和覆写它们。因此,理论上,我们可以把整个计算机内存看成是由一个巨大的比特位数组所组成的,这样就可以进行读和写。
世界纷繁亦纷扰~