美文网首页
全局及局部变量,预编译

全局及局部变量,预编译

作者: 浮巷旧人 | 来源:发表于2018-08-01 21:02 被阅读0次

全局变量:在全局定义的变量
局部变量:在局部定义的变量,也称函数里面定义的变量
函数里面的能访问外面的 外面的不能访问里面的

  var  a  = 123;
 //全局变量
function  test  () {
    var  b  =  123;
     function  demo () {
           var  c =  234 ;
           document.write(b);
           document,write(a);
 }
  demo();
  document.write(c);
}
test();
c不能访问   b a 可以访问

预编译前奏

1.imply global 暗示全局变量:即任何变量,如果变量未经声明就赋值,此变量就为全局对象所有。
eg:a=123;
eg: var a = b = 123;
2.一切声明的全局变量,全是window的属性。
eg:var a = 123; ===> window.a=123

预编译

1.函数声明整体提升
2.变量 声明提升
eg:

     function    test()  {
        var  a  =  b  =  123; 
     }
    test();
      b  未被声明  直接被赋值 归window所有
     window.b  =  123   window.a  =  underfined

var num = 123; window.num = 123; delete window.name -> false 一旦经历了var的操作,所得出的属性,window,这种属性叫做不可配置属性 不可配置的属性 delete不掉
var obj = {}; obj.num = 234;

四部曲

1.创建AO对象
2.找形参和变量声明,将变量和形参名作为AO属性名,值为underfined
3 将实参值和形参统一
4 在函数体里面找函数声明,值赋予函数体

预编译发生在函数执行的前一刻

1.生成了一个GO对象  
GO{
       a  : 123(underfined=>function~~=>123)
 }
var  a  =  123;
function  a  (){

}
console.log(a);=>123
Go{
    ƒ test(test)  {
    console.log(test);  
    var  test  =  234;
    console.log(test);
    function  test(){
    }
    }
 }


 console.log(test);
function  test(test)  {
    console.log(test);  AO里有先找AO  没有再去找GO
    var  test  =  234;
    console.log(test);
    function  test(){
    }
  AO{
      test  :  function  ()  {},=>234
  }
}
test(1);
var  test  =  123;

相关文章

  • 全局及局部变量,预编译

    全局变量:在全局定义的变量局部变量:在局部定义的变量,也称函数里面定义的变量函数里面的能访问外面的 外面的不能访...

  • C语言基础

    软件生成 预编译、编译、汇编、链接 内存划分 代码段/数据段(初始化的全局变量、静态全局和局部变量)/BSS段(未...

  • 恶意代码分析实战 第六章 识别汇编中的C代码结构

    全局和局部变量 代码清单6-1:两个全局变量 代码清单6-2:两个局部变量 使用gcc编译为64位程序,使用IDA...

  • 2020-05-28 vue-admin-ui总结

    作用域:var在函数里定义的才是局部变量。直接使用变量不声明则是隐式全局变量,函数里也是全局的预解析:变量声明提升...

  • C语言内存分配(重)

    内存分配的类型: 静态内存分配: 全局变量、静态全局变量、静态局部变量; 静态内存分配是在程序编译时分配的内存空间...

  • python

    函数内全局变量赋值 Python中有局部变量和全局变量,当局部变量名字和全局变量名字重复时,局部变量会覆盖掉全局变...

  • js 闭包理解

    了解js中的全局变量和局部变量 全局变量属于 window 对象,局部变量只能用于定义它函数内部。当全局和局部变量...

  • Swift-全局变量、局部变量以及类型属性

    全局变量和局部变量 全局变量和局部变量 计算属性和属性观察器所描述的功能也可以用于全局变量和局部变量。全局变量是在...

  • C/C++知识点分享(16)

    1、statac全局变量、局部变量、函数与普通全局变量、局部变量、函数,static全局变量与普通的全局变量有什么...

  • JavaScript变量、函数和变量提升

    一.变量的作用域 变量分为全局变量和局部变量 全局变量: 局部变量:

网友评论

      本文标题:全局及局部变量,预编译

      本文链接:https://www.haomeiwen.com/subject/vrqdvftx.html