zoukankan      html  css  js  c++  java
  • JavaScript工作原理

    浏览器模块大致分为:文档分析模块,JS引擎模块,布局渲染模块。

    浏 览器收到返回的HTML页面后,文档分析按照HTML文档的文档流顺序从上到下逐步解析页面结构和信息。HTML文档流是一个网页设计开发中很重要的概 念,布局渲染也按照文档流展现和布局页面元素。当文档分析遇到其它标签时,会交给布局渲染模块,后台绘制(这时还没有展现)。遇 到<script>标签时,会交给JS引擎处理<script>内容。也就是说Javascript的解析顺序就是文档 中<script>标签出现的顺序。

    JS引擎执行步骤:

    1. JS引擎会先预编译一次,预编译就是创建当前执行环境下的活动对象(当前作用域,可用变量的集合),将当前环境下var申明的变量先初始化为undefined,而function保留字定义的函数的字面量Literals会直接赋给活动对象。

    2. JS引擎进入解析执行阶段,从上到下逐行执行。遇到直接变量(1,2,"a")会直接处理;而遇到要解析的变量,会先从活动变量中查找,没有找到的话再从prototype,其次作用域链里查找。

    在一个函数还未调用(apply,call,或"()")时,它在JS引擎中只是以字面量Literals的形式储存在对象中(就和字符串一样)。

    而当我们调用一个函数时,JS引擎又会在该函数内部按以上两步执行。

    参考:http://blog.csdn.net/pusongyang/article/details/7053841

  • 相关阅读:
    解决android SDK升级慢的问题
    matlab的table数据类型初步接触
    IDL软件初步了解
    将博客搬至CSDN
    使用GEANT4的模拟技术1
    geant4开发平台的构建方案的讨论a
    MFC学习1
    Qt如何学习(参考官方文档)
    我对动态磁盘的想法(不全)
    EGS5在linux系统下安装过程
  • 原文地址:https://www.cnblogs.com/orientsun/p/2753258.html
Copyright © 2011-2022 走看看