声明提前

来源:互联网 发布:常州数控编程培训学校 编辑:程序博客网 时间:2024/05/19 00:53
****声明提前(hoist):
在程序执行前,
        将var声明的变量和function声明的函数
        集中到*当前作用域*的开始位置创建
        赋值留在原地 
    强调:只有声明方式定义的函数才能被提前!
          直接量方式创建的函数,不能提前
     <script> 
var a=10;
function f1(){
console.log(a);
/**var**/a=20;
console.log(a);
}
f1();//undefined
console.log(a);//

       //声明提前好的案例,画图更容易
function fn(){
console.log(1);

}
fn();//2
function fn(){
console.log(2);
}
fn();//2
var fn=100;
fn();//100


//采用函数直接量的方式:
function fn(){
console.log(2);

}
fn();//2
var fn=function (){
console.log(1);
}
fn();//2
var fn=100;
fn();//100






</script> 



eg2:

<script>
//采用函数直接量的方式:
var fn=function (){
console.log(1);
}
fn();//1
function fn(){
console.log(2);

}
fn();//1

var fn=100;
fn();//
</script>

0 0
原创粉丝点击