函数声明、函数表达式及函数立即执行

 
函数声明:
function a() {}

函数表达式:
var a = function () {}

代码示例:

a();  // 1,函数声明提升
function a(){
  console.log(1);
}
a();  // 1
var a = function(){
  console.log(2);
}
a();  // 2,函数表达式不会提升,覆盖函数声明

  

a(); // 1,函数声明提升
var a = function(){
  console.log(2);
}
a(); // 2,函数表达式覆盖函数声明
function a(){
  console.log(1);
}
a(); // 2,函数声明提升后先于函数表达式声明,因此函数表达式会覆盖函数声明

  

函数立即执行

(function(a){
  console.log(a);  //使用()运算符
})(1);
  
(function(a){
  console.log(a);  //使用()运算符
}(1));
  
!function(a){
  console.log(a);  //使用!运算符
}(1);
  
+function(a){
  console.log(a);  //使用+运算符
}(1);
  
-function(a){
  console.log(a);  //使用-运算符
}(1);
  
var fn=function(a){
  console.log(a);  //使用=运算符,函数表达式立即执行
}(1)

 ()、!、+、-、=等运算符,都将函数声明转换成函数表达式 

猜你喜欢

转载自www.cnblogs.com/yiyitong/p/9401827.html