JavaScript 中的函數實際上是數據。這也就是說下面的2 種定義函數的方式是完全一樣的。
- function f(){return 1;}
- var f = function(){retrun 1;}
第二種定義函數的方式也被稱爲“文本標記型”函數
兩種定義函數的區別:
第二種定義函數的缺點,有位置的限制,而第一種沒有,我們看一下下面的例子
<script type="text/javascript">
//這也就是說下面的2 種定義函數的方式是完全一樣的。
function fun01() { }
var fun02 = function () { }
//結果是function,說明fun02就是一個函數
document.write(typeof fun02 + '<br/>');
//並且它可以當作一個變量來使用
var temp = fun02;
document.write(typeof temp + '<br/>');
//第二種定義函數的缺點,有位置的限制
document.write(obj01() + '<br/>');
//obj02不能在這個位置調用
//document.write(obj02() + '<br/>');
function obj01() { return 2; }
var obj02 = function () { return 3; }
//只能在函數定義的後面調用
document.write(obj02() + '<br/>');
</script>