1. 函数的直接声明
函数声明可以定义所命名的函数的变量,而不用给变量赋值。
eg:function func( ) { }
2. 函数的表达式声明
函数表达式声明是将函数定义为表达式语句的一部分。
eg:var func = function( ) { }
3. 两种方式的区别
1.函数的直接声明
alert(f(5,6));
function f(a, b) {
return a + b;
}
运行结果:
2. 函数表达式声明
alert(myFun);
var myFun = function (a,b){
return a + b;
}
运行结果:
4. 不同运行结果产生的原因分析:
JavaScript在执行代码时,存在一种变量声明被提升的机制,即JS解析器首先会把当前作用域的函数声明提前到整个作用域的最前面,即使写的时候是写在后面,也还是会被提至最前。因此f()函数会被提前,alert(f(5,6));
便可以执行;但是myFun()函数并不会被提前,alert(myFun);
便不会被执行。