基于OpenLayers的WebGIS程序二次开发实例教程
34498 人在学
渲染这个术语被用作"艺术家或作家对于场景的渲染"。另外渲染也用于描述"计算视频编辑文件中的效果以生成最终视频输出的过程"。
周末加班敲代码的时用到了<script>标签,突然想到了一个问题:别的自测项目里面<script>我把他放在了不同位置,这里应该会对代码的执行与渲染后影响吧?于是今天专门进行了查询,趁机总结以下:
html文档的解释方式&顺序:
预备知识:(需要简单理解同步/异步的区别)
同步,是所有的操作都做完,才返回给用户结果。即写完数据库之后,在相应用户,用户体验不好。
异步,不用等所有操作等做完,就相应用户请求。即先相应用户请求,然后慢慢去写数据库,用户体验较好。
html文档的执行,从上到下解释
解释过程中遇到<link>,<img>标签就会异步进行加载/下载,然后继续向下进行代码的解释
遇到<script>标签时情况相反,此时会开始同步请求JS文件,然后逐句执行JS文件中的代码,知道所有代码执行完再继续进行html剩余代码的解释
<script>标签引起的问题And位置的影响:
解决<script>同步执行导致html脚本解释的阻塞问题:
方法一=>将<script>放在<body>的最后一部分
给<script>标签添加defer属性;用法:
<scripttype="text/Javascript"defer="defer">
defer作用:属性规定是否对脚本执行进行延迟,直到页面加载为止。(注意:局限于IE浏览器;详细请参考=>请点击这里)
当然也有缺点:就是如果多个JS脚本的时候没法确定脚本的执行先后顺序
<script>位置的影响:
预备知识:(浏览器的工作流程)
解析html文档成DOM树=>解析css生成CSSDOM树=>CSSDOM树和DOM树结合形成RendingTree=>Layout=>渲染
将<script>放在<head></head>之间,使其在主页和其他代码之前预先装载,可以实现例如:*.js文件的提前调用
将<script>放在<body></body>之间,则页面加载后运行(注意放在<body></body>中的位置,这里推荐放在最后)
小结:
在head里面,所有的function函数只加载不执行,执行的话是在某件事触发之后(如果有变量的初始化,会导致报错)
在body里面直接加载并执行
渲染在电脑绘图中是指用软件从模型生成图像的过程。模型是用严格定义的语言或者数据结构对于三维物体的描述,它包括几何、视点、纹理以及照明信息。