随笔分类 - JavaScript
摘要:数组拖拽diff处理: 在数组中给每一项打上的key功效 Vue源码阅读尚不够深,基于已有知识初步判断 数组--> ··产生key映射到组件的哈希表·· --> 产生同一层级的虚拟DOM > 产生同一层级的真实dom 当数组更新后,新旧虚拟dom比较(首先比较key,然后比较key对应的元素) vu
阅读全文
摘要:语法糖:官方内置封装的一些快捷操作 场景:判断属性是否存在 const target = obj.person ? obj.person.name : '' 语法糖: obj.person?.name 场景:对象的属性key字符串想要用表达式给出 var obj = { ['a'+'b'] : 'a
阅读全文
摘要:统一导入导出:可以将统一目录下的多个可导出文件统一导出 在需要导入的地方可通过解构导入即可 常见导出结构 // xxx.js export const Aa = "a" export const Bb = 111 export default = [1,2,3] 相当于 // import {} f
阅读全文
摘要:横看hash竖看history 只缘身在此客户端
阅读全文
摘要:[ 10, 12, 14, 16, 8 ].sort() // 输出 :[10, 12, 14, 16, 8] 查看 sort源码 :不传参的话会逐个比较 ASCLL 值,而数字8的ASCLL值大于1的ASCLL值。修改:[ 10, 12, 14, 16, 8 ].sort((a,b)=> a-b)
阅读全文
摘要:Python部分 JS部分 Python部分 声明二维数组常用方式,但在append后会导致同步变化 arr = [[]] * 3 arr[0].append(1) arr # [[1], [1], [1]] 修改:arr = [[] for i in range(3)] JS部分 初次创建二维数组
阅读全文
摘要:基础对象指原型链终点的对象。基础对象的原型是null 默认情况下,事件处理程序在冒泡阶段执行(除非您将useCapture设置为true) JavaScript中只有6个假值:undefined 、 null 、NaN 、0 、'' (empty string) 、false 闭包,外层函数执行完毕
阅读全文
摘要:js执行过程分为2部分词法分析、执行代码 易错点分析变量提升 console.log(a); //undefined var a = 123; // 等同于 var a; console.log(a) a = 123 // 进阶 console.log(v1); var v1 = 100; func
阅读全文
摘要:html部分 <body> <div class="setting"> <div class="grade-box"> 你的成绩:<div class="grade">0</div> 分 </div> <div class="rank">选择难度: <button onclick="changeRa
阅读全文
摘要:Document 在前端开发中,会遇到一些频繁触发的事件监听器(scroll、mousemove、resize) 这样会频繁的调用JS,造成卡顿、更严重的性能问题 防抖:在事件触发 N 秒后调用事件,如果这 N 秒内又被触发,则重新计时 let debounce = function(fn,wait
阅读全文
摘要:小写字母转大写 var UP = function(s){ return s.toUpperCase().split(' ').join('_') } UP('Hedge number') 将格式为 CONTRACT_NUM 转换为驼峰形式 var upFirst = function(s){ //
阅读全文
摘要:数字 转换为 字母: const num = 'a'.charCodeAt() // num = 97 字母 转换为 数字: var str = String.fromCharCode(97) // str = 'a'
阅读全文
摘要:npm不同安装方式区别 npm init 初始化package.json文件,package.json文件存储着项目的 依赖包 / 模块 npm install/i(简写) node_modules中存在 package.json中未记录 npm install/i --save / -S(简写)
阅读全文