zoukankan      html  css  js  c++  java
  • JS学习笔记 之 预编译


    1. imply global 暗示全局变量:任何变量,未经声明就赋值,此变量为全局对象(window)所有
    例:
    a = 10;     -->     window.a = 10;  (不管此变量是在全局赋值的,还是局部赋值的)
     
    2. 一切声明的全局变量都是window的属性     --> window即全局的
    var b = 123;     -->     window.b = 123;
                            -->     window {
                                          b: 123     //在全局对象中新加了一个属性
                                         }
     
    预编译发生在函数执行的前一刻
                              --> 解释一句,执行一句
    函数体预编译过程:
    1. 创建AO对象(Activation Object)-->    生成执行期上下文
    2. 找形参和变量声明,将形参和变量声明作为AO对象的属性名,值为undefined
    3. 将实参和形参值统一
    4. 在函数体里找函数声明,作为GO对象的属性名,值为函数体          -->   注意:函数表达式 ≠函数声明
    全局预编译过程:
    1. 生成GO对象(Global Object)=== window
    2. 找变量声明,作为GO对象的属性名,值为undefined
    3. 找函数声明,作为GO对象的属性名,值为函数体
     
     
  • 相关阅读:
    NetBeans IDE 6.8 发布候选版 1 已经可用!
    怎样的提问才是有效的提问
    Drop 简介
    NetBeans 时事通讯(刊号 # 83 Dec 03, 2009)
    体悟
    《程序员》杂志第8期笔记
    svmlight
    9158.com amazing
    别人玩女人,屌丝玩手机,我没得玩了orz
    光看菜谱成不了好厨师
  • 原文地址:https://www.cnblogs.com/seveinn/p/11801775.html
Copyright © 2011-2022 走看看