十一21
十一21
全部文章
js
css学习(2)
html学习(6)
vue(3)
笔试(1)
面试(3)
归档
标签
去牛客网
登录
/
注册
sota的博客
记录前端学习中的知识点
全部文章
/ js
(共11篇)
js输出顺序
console.log('======== main task start ========'); new Promise(resolve => { console.log('create micro task 1'); resolve(); }).then(() => { ...
2020-06-21
0
461
js的继承和call bind apply
1.组合继承 function Parent(name) { this.name = name; } Parent.prototype.getValue = function() { console.log(this.val) } function Son(name) { Par...
2020-06-20
0
506
js内存泄漏和垃圾回收机制
内存泄漏程序中已动态分配的堆内存由于某种原因程序未释放或无法释放引发的问题。程序的运行需要内存,只要程序提出要求,操作系统或者运行时就必须提供内存。对于持续运行的服务进程,必须及时释放内存,否则,内存占用越来越高,轻则影响系统性能,重则导致进程崩溃。不再用到的内存,没有及时释放,就叫做内存泄漏。C需...
2020-06-07
0
717
requestAnimationFrame
浏览器直接处理dom的速度慢。因为用js修改dom,涉及到js引擎和DOM渲染引擎两个线程。设计到线程间通信,以及页面的回流和重绘。几万个DOM插入的操作肯定会到来卡顿。所以要分批次渲染。HTML5提供了一个请求动画的接口requestAnimationFrame setTimeout:通过设定间隔...
2020-06-06
1
651
js执行机制
线程是进程中的最小单位。执行一段指令所需的时间。打开tab相当于创建一个进程,http请求则是一个线程。js是单线程执行的。JS运行的时候会阻止dom解析渲染。如果js可能修改dom时页面还在解析,则会浪费。这就是单线程的好处。 HTML5允许多线程。开始执行js代码时,把任务分成同步和异步任务。同...
2020-06-06
1
508
js中V8引擎
编译型语言:在程序执行之前必须进行专门的编译过程。只要编译一次,翻译成机器语言,之后无须重编译。执行效率高,但是跨平台性能较差。解释性语言:程序运行时才编译。不直接变成机器语言,先翻译成中间代码,再由解释器对中间代码进行解释运行。因此解释性语言的效率较低。js本质是解释性语言,它需要一边执行一边解析...
2020-06-06
1
499
设计模式
设计模式就是一套写代码的方式,通过这种方式写的代码更容易维护和复用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案,代表了最佳的实践。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。 创建型设计模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而...
2020-06-06
1
477
节流和防抖
节流 连续触发的事件每隔一段时间执行。防抖 连续触发的事件只执行一次,事件停下一段时间后才能继续触发下一次。 使用场景: 节流: 可以将一些事件降低触发频率。比如懒加载时要监听计算滚动条的位置,但不必每次滑动都触发,可以降低计算的频率,而不必去浪费资源;另外还有做商品预览图的放大镜效果时,不必每次...
2020-06-05
2
506
前端图片优化
图片大小计算一张100100的图片,4个通道,每个通道1字节,图片大小就是10010041/1024 = 39kb所以压缩图片的方式 减少像素点 减少每个像素点能够显示的颜色 图片加载优化1.减少请求次数 很多时候会使用到很多修饰类图片,其实这类修饰图片完全可以用 CSS 去代替。 对于移动端...
2020-06-04
2
479
变量提升和暂时性死区
在es中存在函数提升和变量提升,函数提升优于变量提升。函数提升会把函数定义挪到整个作用域的顶部。变量提升把变量的定义挪到作用域顶部,但是不赋值。因为变量提升,所以代码中变量可以在定义前使用。当有多个同名变量声明的时候,函数声明会覆盖其他的声明。如果有多个函数声明,则是由最后的一个函数声明覆盖之前所有...
2020-06-04
2
526
首页
上一页
1
2
下一页
末页