函数声明:
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)
()、!、+、-、=等运算符,都将函数声明转换成函数表达式