javascript函数的提升

javascript函数的提升

1、

function foo(){
    alert('global foo');
}
function bar(){
    alert('blobal bar');
}
function hoistMe(){
    console.log(typeof foo);//"function"
    console.log(typeof bar);//"undefined"
    foo();//输出local foo
    bar();//输出TypeError: bar is not a function
    //函数声明 
    function foo(){
    alert('local foo');
    }
    //函数表达式
    //仅变量‘bar’被提升
    //函数实现并未被提升
    var bar = function(){
        alert('local bar');
    }
}
hoistMe();

存在于hoistMe()函数中的foo和bar移动到了顶部,从而覆盖了全局foo和bar函数。
* foo() 的定义被提升到了顶部且能正常运行。
* bar()的定义并没有提升,公有它的声明被提升了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值