首先要說明的,下面這種方式是對的,雖然不知道為什么,很奇怪為什么可以先使用,再定義,希望有了解的人可以給個說法.
<SCRIPT LANGUAGE="JavaScript">
hello('www.openj.cn');
function hello(name){alert("hello " +name)};
</SCRIPT>
本文首發于 http://blog.openj.cn
下面的這種定義函數方式,對于寫一些比較復雜的代碼比較合適,特別是有返回值時,函數名可以直接被賦予返回值,有時這會帶來很大的方便.
<SCRIPT LANGUAGE="JavaScript">
var hello = function(name){alert("hello "+name)};
hello('www.openj.cn');
</SCRIPT>
下面這種方式是錯的,在此處不能先使用后定義,可能是因為函數名此時也當做變量名吧.對變量無法實現先使用后定義.這只是猜測,希望有明白人能給一個權威說話.
<SCRIPT LANGUAGE="JavaScript">
hello('www.openj.cn');
var hello = function(name){alert("hello "+name)};
</SCRIPT>