JS 之定义函数2种方法

148 阅读1分钟

一、Function 定义

函数是对象,因此函数名实际上也是一个指向函数对象的指针,不会与某个函数绑定。声明函数有:函数声明和函数表达式两种。

  1. 函数声明:
function sum (num1, num2) { 
 return num1 + num2; 
} 
  • 使用函数声明的,javaScript 引擎会把函数声明提升到顶部,并将其添加到执行环境中。如下不会发生报错:
alert(sum(10,10));   // 20
function sum(num1, num2){ 
 return num1 + num2; 
} 
  1. 函数表达式声明:
var sum = function(num1, num2){ 
 return num1 + num2; 
}; 
  • 使用函数表达式声明的,在执行到函数所在的语句之前,变量 如下的sum 中不会保存有对函数的引用,所以会报错
console.log(sum(10,10));  // Uncaught TypeError: sum is not a function
var sum = function(num1, num2){ 
 return num1 + num2; 
};