浏览器解析原理

来源:互联网 发布:oracle数据备份 编辑:程序博客网 时间:2024/05/16 10:24

曾经有人说过,作为一个程序员搞前端不应该以美工的心态来对待,而是应该是一个程序按的常识去看待。

先前一开始学习web前端的时候,由于学得不怎么扎实,很多东西都是靠敲多了,也就自然记住了,很多原理性的东西都不懂,所以一旦生疏了,

很多前端的东西搞起来就非常耗时耗力,前段时间了解了一旦浏览器的制作原理之后,用一个程序员的心态来看待代码,就感觉轻松了很多。


浏览器的制作原理:

其实我们在浏览器中的每一个标签都可以理解为一个对象,经过浏览器解析器解析后变成一个对象,然后存储在内存堆中,例如下面标签

<input type="text" name="stuName"/>   被解析器解析成类似下面代码   Input input=new Input();  input.setType("text");  input.setName("stuName");  然后在内存堆中存储。

我们经常开一个浏览器会占用大量内存使电脑非常卡,大概是因为html中含有大量的  <input type=""  name=""/>  <div></div>  <body></body>标签的缘故,每个标签都是一个

对象,这些对象存储在内存堆中,使用电脑变卡。然后也许会问这些代码是怎么显示在浏览器上的,其实浏览器中有个渲染引擎,该引擎时刻监视着堆中的每一个对象的变化,包括对象的生成,销毁,改变等,一旦对象发生了变化,浏览器渲染引擎就会监视到该对象的变化,然后在浏览器中重构该图片。下面用图片来看下也许会更清晰点。


对于JAVASCRIPT而言,JAVASCRIPT一般则是在内存堆中找到对象,然后修改对象的属性,一般常用的寻找对象有

3,4个方法

var object1=document.getElementById(id);

var object2=document.getElementByname(id);

var object3=document.getElementByTagname(id);

然后通过样式表修改对象的属性

object1.style.color="red"等等或者从某个对象获取值赋值给其他对象也是可以的。

关于前端的一些知识,楼主以后有再有了解会再次更新

0 0