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

  • 相关阅读:
    Codeforces Round #281 (Div. 2) A. Vasya and Football(模拟)
    自动生成代码工具
    导入导出维护计划
    收集错误日志方法
    C#常用控件和属性
    人民币转换
    身份证验证
    设置下拉列表项的默认值
    清除维护任务
    清除MSSQL历史记录
  • 原文地址:https://www.cnblogs.com/orientsun/p/2753258.html
Copyright © 2011-2022 走看看