05 2022 档案
摘要:1.首次加载过程父beforeCreate -> 父created -> 父beforeMount -> 子beforeCreate -> 子created -> 子beforeMount ->子mounted -> (子activated) -> 父mounted2.父组件更新过程父beforeU
阅读全文
摘要:function rotate(arr, k) { const len = arr.length const step = k % len return arr.slice(-step).concat(arr.slice(0, len - step)) } // rotate([1, 2, 3, 4
阅读全文
摘要:题:输出下列程序打印? // example 1var a={}, b='123', c=123; a[b]='b';a[c]='c'; console.log(a[b]); // example 2var a={}, b=Symbol('123'), c=Symbol('123'); a[b]='
阅读全文
摘要:存储模式: Chrome 浏览器JS引擎 V8中,数组有两种存储模式, 一种是类似C语言中的线性结构存储(索引值连续,且都是正整数的情况下), 一种是采用Hash结构存储(索引值为负数,数组稀疏,间隔比较大)。 读取方式: javaScript 没有真正意义上的数组,所有的数组其实是对象,其“索引”
阅读全文
摘要:<b id="count"></b> <button onclick="increase()">+</button> <button onclick="decrease()">-</button> const data = { count: 0 }; const proxy = new Proxy(
阅读全文
摘要:BFC(Block formatting contexts):块级格式上下文页面上的一个隔离的渲染区域,那么他是如何产生的呢?可以触发BFC的元素有float、position、overflow、display:table-cell/ inline-block/table-caption ;BFC有
阅读全文
摘要:1. // 因为 T 的 length 是一定的,所以在循环S的的时候 ,循环当前项 i 后面至少还有 T.length 个元素 const find = (S, T) => { if (S.length < T.length) return -1; for (let i = 0; i <= S.l
阅读全文
摘要:webpack-dev-server 主要包含了三个部分:1.webpack: 负责编译代码2.webpack-dev-middleware: 主要负责构建内存文件系统,把webpack的 OutputFileSystem 替换成 InMemoryFileSystem。同时作为Express的中间件
阅读全文
摘要:1. function processString (s) { var arr = s.split(''); var new_arr = arr.map((item) => { return item item.toUpperCase() ? item.toLowerCase() : item.to
阅读全文
摘要:ES6转ES5分为以下两种情况1.语法转换ES6语法通过babel等工具为ES5语法,本质是将ES6语法转AST(抽象语法数——对编程语言编写的程序的一种描述)再将AST转为ES5语法代码;例如:let,const转换为var,箭头函数转换为function函数声明等2.API转换采用babel-p
阅读全文
摘要:应该是 a.b.c.d 比 a['b']['c']['d'] 性能高点,后者还要考虑 [ ] 中是变量的情况,再者,从两种形式的结构来看,显然编译器解析前者要比后者容易些,自然也就快一点。 测试如下: function compare(times) { let a = { key: {} }; le
阅读全文
摘要:Promise.prototype.finally = function (callback) { let P = this.constructor; return this.then( value => P.resolve(callback()).then(() => value), reason
阅读全文
摘要:两种实现思想: 每次轮播元素动画执行到末尾的时候迅速让其位置恢复原位,造成视觉上的无缝轮播 将轮播元素复制一份,第一个item元素轮播执行完后将其删除后添加在整个轮播列表的最后,造成循环轮播
阅读全文
摘要:reducer的职责不允许有副作用,副作用简单来说就是不确定性,如果reducer有副作用,那么返回的state就不确定,
阅读全文
摘要:jwt举例 需要一个secret(随机数) 后端利用secret和加密算法(如:HMAC-SHA256)对payload(如账号密码)生成一个字符串(token),返回前端 前端每次request在header中带上token 后端用同样的算法解密
阅读全文
摘要:问:如何修改才能让图片宽度为 300px ?注意下面代码不可修改。 <img src="1.jpg" style="width:480px!important;”> 答: 1.max-width: 300px 2.transform: scale(0.625,0.625) 3. box-sizing
阅读全文
摘要:function fn(a, b) { const result = []; const map = a.reduce((obj, item) => { obj[item] ? obj[item]++ : obj[item] = 1; return obj; }, {}); b.forEach(it
阅读全文
摘要:箭头函数是普通函数的简写,可以更优雅的定义一个函数,和普通函数相比,有以下几点差异: 1、函数体内的 this 对象,就是定义时所在的对象,而不是使用时所在的对象。 2、不可以使用 arguments 对象,该对象在函数体内不存在。如果要用,可以用 rest 参数代替。 3、不可以使用 yield
阅读全文
摘要:结构: display:none: 会让元素完全从渲染树中消失,渲染的时候不占据任何空间, 不能点击,visibility: hidden:不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,不能点击opacity: 0: 不会让元素从渲染树消失,渲染元素继续占据空间,只是内容不可见,可以
阅读全文
摘要:时间复杂度: O(n^2) 一般的冒泡: function bubbleSort1(arr) { for (let i = 0; i < arr.length - 1; i++) { for (let j = 0; j < arr.length - 1; j++) { if (arr[j] > ar
阅读全文
摘要:求表达式的打印: var a = {n: 1}; var b = a; a.x = a = {n: 2}; console.log(a.x) console.log(b.x) 解: 改写如下: var a = { n : 1}; var b = a; // . 优先级比 = 的高 a.x;// 同等
阅读全文
摘要:<div class="parent"> <div class="child"></div></div> 1、定位 div.parent { position: relative; } div.child { position: absolute; top: 50%; left: 50%; tran
阅读全文
摘要:Object.defineProperty无法监控到数组下标的变化,导致通过数组下标添加元素,不能实时响应; Object.defineProperty只能劫持对象的属性,从而需要对每个对象,每个属性进行遍历,如果,属性值是对象,还需要深度遍历。Proxy可以劫持整个对象,并返回一个新的对象。 Pr
阅读全文
摘要:主要应用于只需要向服务器发送数据(日志数据)的场合,且无需服务器有消息体回应。比如收集访问者的统计信息。 一般做法是服务器用一个1x1的gif图片来作为响应,当然这有点浪费服务器资源。因此用header来响应比较合适,目前比较合适的做法是服务器发送"204 No Content",即“服务器成功处理
阅读全文
摘要:作用是一样的,区别在于传入参数的不同; 第一个参数都是,指定函数体内this的指向; 第二个参数开始不同,apply是传入带下标的集合,数组或者类数组,apply把它传给函数作为参数,call从第二个开始传入的参数是不固定的,都会传给函数作为参数。 call比apply的性能要好,平常可以多用cal
阅读全文
摘要:在严格模式中使用Vuex,当用户输入时,v-model会试图直接修改属性值,但这个修改不是在mutation中修改的,所以会抛出一个错误。当需要在组件中使用vuex中的state时,有2种解决方案:1、在input中绑定value(vuex中的state),然后监听input的change或者inp
阅读全文