课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习web前端开发技术,而今天我们就给大家简单分享一些web前端基础知识。
1、原型与原型链
每一个JavaScript对象(null除外)在创建的时候会关联另一个对象,这个对象就是原型,每一个对象都会从原型"继承"属性。
每一个JavaScript对象(除了null)都具有的一个属性,叫__proto__,这个属性会指向该对象的原型。
实例对象和构造函数都可以指向原型,原型可以指向构造函数,不能指向实例(因为可以有多个实例)。
原型有两个属性,constructor和__proto__。
JavaScript中所有的对象都是由它的原型对象继承而来。而原型对象自身也是一个对象,它也有自己的原型对象,这样层层上溯,就形成了一个类似链表的结构,这就是原型链。
2、回流Reflow与重绘Repaint
回流:元素的大小或者位置发生了变化,触发了重新布局,导致渲染树重新计算布局和渲染。页面一次加载的时候,至少发生一次回流。
添加或删除可见的DOM元素;
元素的位置发生变化;
元素的尺寸发生变化;
内容发生变化(比如文本变化或图片被另一个不同尺寸的图片所替代);
页面一开始渲染的时候(这个无法避免);
浏览器的窗口尺寸变化,因为回流是根据视口的大小来计算元素的位置和大小的;
重绘:元素的外观,风格改变,而不会影响布局(不包含宽高、大小、位置等不变)
如:outline,visibility,color,background-color......等
Reflow的成本比Repaint高得多的多。DOMTree里的每个结点都会有reflow方法,一个结点的reflow很有可能导致子结点,甚至父点以及同级结点的reflow。。回流一定会触发重绘,而重绘不一定会回流
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。更多内容请在707945861群中学习了解。