- 博客(6)
- 收藏
- 关注
原创 html的重绘与重排(回流)
浏览器的运行机制构建DOM树,渲染引擎解析html文档,首先将标签解析成dom树中的dom node(包括js生成的标签),生成内容树(Content Tree/ Dom Tree); 构建渲染树(construct),解析对应的css文件(包括js生产的样式和外部引入的样式文件),而这些文件信息以及html中可见的指令例如(<br/>),构成渲染树(rendering tree /frame tree),render tree中每个节点都有对应的 style,不包括隐藏的节点(例disp
2020-10-21 23:29:17 227
原创 js闭包的总结
闭包的定义:当内部函数被保存到外部时,会产生闭包,闭包会导致原有的作用域链不释放,造成内存泄漏。闭包的好处:实现共有变量:例如函数累加器;function add() { var num = 0; function demo() { num++; console.log(num) } return demo;}var...
2020-05-03 14:50:22 159
原创 js立即执行函数
立即执行函数针对初始化功能的函数;函数执行一次之后立即销毁,释放存储空间。(function a(a,b,c){ consolo.log(a+b+c);})(1,2,3); //6 console.log(a);//报错立即函数的写法有:1.(function(){}()) ; //w3c建议2.(function(){})();只有表达式才能被执行符号执行...
2020-04-30 16:33:37 130
原创 js作用域与作用域链的学习总结
执行期上下文:当函数执行时会产生一个执行期上下文的对象,一个执行期上下文定义了一个函数执行时的环境,函数每次执行时对应的执行期上下文都是唯一的,所以多次执行一个函数会导致创建多个执行上下文,当函数执行完毕时,他产生的执行上下文被销毁。作用域:每个javascript函数都是一个对象,对象中有些属性我们可以访问有些不可以,只供javascript引擎存取,[[scope]]就是其中一个隐式属性吗...
2020-04-30 15:08:40 114
原创 总结js的预编译过程
预编译发生在函数执行的前一刻。预编译四个过程如下:1、创建AO对象(ActivationObject即执行期上下文);2、找形参和变量声明,将形参和变量名作为AO属性,值为undefined;3、将形参值与实参值统一;4、在函数体内找函数声明,赋值与予函数体;例子如下:function fn(a) { console.log(a); var a = ...
2020-04-23 19:48:06 142
原创 vuex中state数据发生改变但是getters中的数据没有变化
最近在项目中遇到一个问题,提交了actions改变了state中cart对象的一个属性值,getter中依赖cart对象的值没有变化,在mutationl里面的操作如下: state.cart[params].buy_num++百度到vuex由于js的限制,不能检测到对象或者数组的属性变化。所以,解决办法就是拷贝出一个新的对象整个赋值到原来的对象中去,当整个对象改变才能检测到。例如...
2019-06-21 16:46:08 4702 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人