// 允许在块级作用域内声明函数
    // 函数声明会提升到全局作用域或函数作用域头部 还会提升到所在的块级作用域的头部
    function f(){
        console.log('你是猪吗');
        
    }
    (function(){
        var f = undefined;
        if(false){
            function f(){
                console.log('我是猪吗');
                
            }
             
        }
        f()
    }())
    
    //输出f()不是一个函数
    //ES6的块级作用域必须有{},若无 则js引擎就认为不存在块级作用域
    //严格模式下 函数的声明也必须在当前作用域的顶层
    'use strict'
    if(true){
        function f(){}
    }//不报错
    // 报错写法如下
    'use strict'
    if(true)
    function f(){}

 

posted on 2019-07-22 21:07  毛不易的小老婆  阅读(120)  评论(0编辑  收藏  举报