03 2020 档案
摘要:协商缓存 (没有强缓存或者强缓存过期) 协商缓存是浏览器判断资源是否可用,所以需要两个标识,reponse header 响应头带上某个字段(Last-Modified或者Etag),request header(If-Modified-Since或者If-None-Match) Last-modi
阅读全文
摘要:区别: 1. vuex的同步异步方式不一样, view——>commit——>mutations——>state变化——>view变化(同步操作) view——>dispatch——>actions——>mutations——>state变化——>view变化(异步操作) redux的同步异步方式一
阅读全文
摘要:// const express = require('express') // const app = express() // app.get('/',function(req,res){ // res.end('我是根目录') // }) // app.get('/good',function
阅读全文
摘要:我们对于掌握promise的写法有好多种,就和业务的实现方式是一样的,当然每个人对于这个东西的理解也有所不同。但只要你是对的,符合promiseA+规范,相信别人是可以看懂的。写promise源码很重要的一点是要有全局观,大局观。这个是什么意思呢,分享一个我自己的故事,我接触promise源码已经有
阅读全文
摘要://被观察者function Observed () { this.state = '不开心'; this.arr = [];}//将Observer注册到Observed上Observed.prototype.attach = function (s) { this.arr.push(s);}//
阅读全文
摘要:计算算法的时间所消耗的时间,一般有两个方案: 1.事后统计的方法,这个不可靠,1.想对算法所消耗时间进行测评,必须先依据算法的编制的程序让它实际运行 2.所测时间依赖与计算机的硬件软件等因素,有时容易掩盖算法本身的优势 2.事前统计的方法,人们通常采用的方法。一个高级语言编写的程序在计算机上运行所消
阅读全文
摘要:搞清题意了没? 我们要搞清楚两个问题, 1. let arr = [] arr[3] = 'str' arr的长度是几,答案是3, 2. 当 function test(){ return new Promise((resolve)=>{ setTimeout(()=>{ resolve(123)
阅读全文
摘要:for (var i = 0; i< 5; i++){ setTimeout(() => { console.log(i); }, 1000) } 这是原题,怎么使他说出0,1,2,3,4 for (var i = 0; i< 5; i++){ (function(){ console.log(i)
阅读全文
摘要:严格模式 use strict,就是在代码的头部加上use strict function test(){ console.log(arguments.callee) console.log(123) } test() 把这段代码放到浏览器是不会报错的,但是,如果严格模式是会报错的,小伙伴们可以拿过
阅读全文
摘要:try{ [1,2,3].forEach((item)=>{ console.log(item) if(item == 1){ throw new Error() } }) }catch(e){ console.log(111) } 注意原始的for循环里面不能写return,如果想要跳出for循环
阅读全文
摘要:他们有三个区别: 1.hash 有丑陋的#符号,history没有非常漂亮,干净 2.hash 你改变路由按下enter键之后,你会发现,浏览器那个刷新的icon不变,没错,hash改变路由是不会变的,当刚才的路由你按下第二次会变,这是因为,你在所有的浏览器按enter键他都会刷新。不过这并不代表h
阅读全文