javascript 函数声明和函数表达式
<script type="text/javascript">
function ftn01(){//函数声明
console.log("I am ftn01!");
}
var ftn02 = function(){//函数表达式
console.log("I am ftn02!");
}
</script>
在同一个作用域内,不管函数声明在哪里定义,函数声明的函数都可以进行调用。而函数表达式的值是在JS运行时确定,并且在表达式赋值完成后,该函数才能调用。
ftn01();//===>ture
function ftn01(){//函数声明
console.log(“I am ftn01!”);
}ftn02();//===>false
var ftn02 = function(){//函数表达式
console.log(“I am ftn02!”);
}- //例如1:(报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后)
fnName();
var fnName = function(){
alert(‘Hello World’);
}
//例如2:(正常,函数表达式后面加括号,当JavaScript引擎解析到此处时能立即调用函数)
var fnName = function(){
alert(‘Hello World’);
}();
//例如3:(报错,JavaScript引擎只解析函数声明,忽略后面的括号,函数声明不会被调用)
function fnName(){
alert(‘Hello World’);
}();