源自:javascript高级程序设计
javascript的函数是属于引用类型,其定义的方法有三种
1、使用函数声明
eg:
function sum(num1,num2){
return num1+num2;
}
2、使用函数表达式
eg:
var sum=function (num1,num2){
return num1+num2;
};//注意分号结束,类似于赋值表达式
3、使用Function构造函数形式
eg:
var sum=new Function('num1','num2','return num1+num2'); //第三个参数默认为函数体,前面的参数为传入函数的参数
以上三个实现的函数是一样的,但书上不推荐第三种,因为第三种要解析两次,第一次是构造函数,第二次是解析传入构造函数的字符串;
函数表达式跟函数声明也是有一定区别的,在解释器向执行环境中加载数据的时候,解析器会率先读取函数声明,并使其在执行任何代码时可以被访问。
eg:
alert(sum(1,2));//可以正确运行,函数声明被提前
function sum(num1,num2){
return num1+num2;
}
alert(sum(1,2));//出错,代码执行到此处,函数表达式还未被加载。
var sum=function(num1,num2){
return num1+num2;
};