第9 课

<script>
//第9课
// 预编译
//   函数声明整体提升;
//   变量 声明提升;

// 1.任何变量未经声明就赋值,此变量为全局所有;
// 2.任何声明的全局变量归window所有
//    window就是全局的域

// 函数预编译过程:
// 1、创建AO对象 activetion object
// 2、找形参和变量声明,将变量和形参名作为Ao属性名,值为undefind;
// 3、将实参值和形参统一;
// 4、在函数里找函数声明(不是函数表达式),值为 函数体;

// 全局预编译过程
// 1、创建go对象(windows) global object
// 2、找变量声明,将变量作为GO属性名,值为undefind;
// 3、找函数声明(不是函数表达式),值为 函数体;
//区别 :全局没有参数!

//作业


// GO{
//      foo  undefined;
//     bar  function;
// }

function bar(){
    return foo;
    foo = 10;
    function foo(){

    }
    var foo = 11;
}

// // AO {
// // foo undefined--> function foo(){}--->


// // }
console.log(bar());  
// 结果输出  function foo(){}

// Go{
//     foo  undefiend  
//     bar  function bar(){}
// }

// ao{
// foo undefined-->function foo--> 10-->11

// }
console.log(bar());
function bar(){
    foo =10;
    function foo(){

    }
    var foo = 11;
    return foo;
}
//  结果为11
</script>

猜你喜欢

转载自www.cnblogs.com/aiwuxia/p/9333564.html