1、函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名
2、函数表达式:var fnName = function () {…};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量
3、匿名函数:function () {}; 使用function关键字声明一个函数,但未给函数命名
fnName();
function fnName(){
...
}
//正常,因为‘提升'了函数声明,函数调用可在函数声明之前
fnName();
var fnName=function(){
...
}
//报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后
function fnName () {…}(); 报错
var fnName = function () {…}(); 立即执行
(function(){})()
模拟一个私有作用域,该方法内克访问全局变量,外部无法访问该方法内变量,防止多人开发时,同名变量覆盖
网友评论