zoukankan      html  css  js  c++  java
  • 重温JavaScript预编译的四个步骤

    JS是解释型语言,运行过程分三步:

    一、语法分析(检查代码是否存在语法错误);

    二、预编译(代码执行之前,在内存中开辟空间,存放变量与函数);  

    三、解释执行(执行JS代码);

    理解预编译的过程,对于理解作用域链、闭包、this指向、原型链至关重要,它们是相辅相成的。

    预编译分为四步:

    1、创建AO对象

    就是隐式的创建一个AO(Activation Object)空对象。

    2、查找形参和变量声明,将形参名和变量名作为AO对象的属性,值为undefined

    注意此处是变量声明(必须带var),只是查找形参名和变量声明名不赋值。

    3、将形参与实参统计

    即修改AO对象中属性名为形参的值为传入的实参,如果没有形参此步略过。

    4、查找函数声明,函数名作为AO对象的属性,函数体作为的值

    此处是函数声明,而非匿名函数和函数表达式。

    总结:预编译过程就是查找变量声明、形参和函数声明的过程,并不初始化赋值,在解释执行阶段才会进行初始化 。

  • 相关阅读:
    Java连接MySQL数据库——含步骤和代码
    JAVA join()方法
    Canny边缘检测
    JAVA NIO——Buffer和FileChannel
    剑指offer——树的子结构 (JAVA代码)
    校测链接集合贴
    莫比乌斯反演
    可持久化数据结构
    thusc2021题解
    THUSC2021夏令营自闭记
  • 原文地址:https://www.cnblogs.com/splendid/p/10248157.html
Copyright © 2011-2022 走看看