Javascript高级程序设计——函数声明与函数表达式的区别

  在Javascript中,函数是Functioin类型的实例,所以函数也具备属性和方法,因为函数是对象,所以函数名自然就是指向对象的指针啦。

  函数可以通过声明语法和表达式来定义:

声明:
function
sum(num1, num2){ return num1 + num2; } 函数表达式: var sum = function (num1, num2){ return num1 + num2; }; 注意:表达式是语句所以记得结束的冒号”;“。

 

 区别:

解析器对于函数声明和表达式处理是不一样的,当遇到声明时会声明提前,
所以在声明之前也可以使用函数,而表达式则不可以。

func(); //声明提前,正常调用
function func(){
  console.log("func success");
}

--------------------------------------------------
func1(); //调用会出错。 
var func1 = function (){
console.log(
"func one");
}

/* Exception:
TypeError: func1 is not a function
@Scratchpad/2:1:1
*/
posted @ 2015-09-01 17:56  xnuwu  阅读(142)  评论(0编辑  收藏  举报