1、创建函数的5种常用方法:
(1)直接声明
(2)函数表达式(这里又可以分为匿名函数表达式和具名函数表达式)
(3)使用构造函数
var give_alert = new Function("num", "alert(num)");
give_alert(3);
(4)使用对象直接量的方式来创建一个函数。
obj = {
give_alert : function(num){
alert(num)
}
}
obj.give_alert(4);
(5)立即执行函数:创建后可以立即调用函数自身
2、具名函数表达式:
创建一个变量,内容为一个带有名称的函数
var fn1=function test(){};
注意:具名函数表达式的函数名只能在创建函数内部使用。即采用此种方法创建的函数在函数外层只能使用fn1不能使用test的函数名。test的命名只能在创建的函数内部使用
var fn1=function test(){
console.log(typeof fn1,typeof test);
};
console.log(typeof fn1,typeof test);//function undefined
fn1();//function function
可以看到在函数外部(out)无法使用test的函数名,为undefined。
注意:在对象内定义函数如var o={ fn : function (){…} },也属于函数表达式