JavaScript 中,定义函数时用 var foo = function () {} 和 function foo() 有什么区别?

  • 方法一:foo在进入函数执行上下文开始执行代码的时候,foo是undefined的,知道执行完var foo = function () { }这句,foo才会得到赋值;
  • 方法二:在进入函数执行上下文开始执行代码的时候,foo已经是一个function了。

 

function hereOrThere() { //function statement return 'here'; } function hereOrThere() {//申明前置了,但因为这里的申明和赋值在一起,所以一起前置 return 'there'; } alert(hereOrThere()); // alerts 'there'

var hereOrThere = function() { // function expression return 'here'; }; alert(hereOrThere()); // alerts 'here' hereOrThere = function() { return 'there'; };



posted @ 2018-03-14 10:48  笑兮兮  阅读(225)  评论(0编辑  收藏  举报