console.log(foo) // function foo() {} 函数声明提升 console.log(bar) // undefined 变量声明提升 赋值不会提升 try { console.log(bar_fn) } catch(err) { console.log(‘Uncaught ReferenceError: bar_fn is not defined‘) } // 函数声明 function foo() {} // 函数表达式 var bar = function bar_fn() {} console.log(foo) // function foo() {} console.log(bar) // function bar_fn() {} try { console.log(bar_fn) } catch(err) { console.log(‘Uncaught ReferenceError: bar_fn is not defined‘) }
// JavaScript不允许在函数声明的后面直接使用小括号,而函数表达式则没有这个限制 // ~ ! + - 可以让词法解析器把后面看成是函数表达式 // bootstrap就这么干啊 干 +function() { console.log(‘hello world‘) }()
?【函数】函数声明 / 函数表达式,布布扣,bubuko.com
原文:http://www.cnblogs.com/jzm17173/p/3612964.html