声明提前

****声明提前(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>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值