JavaScript 最基本的函式撰寫大致與 C 語言相同,在此不再多做敘述。範例:
<script type="text/javascript">
function setPrompt(n) {
if (document.getElementById(n).value == "請輸入帳號"
|| document.getElementById(n).value == "請輸入密碼")
document.getElementById(n).value = "";
else if (document.getElementById(n).value == "") {
if (n == "usr")
document.getElementById(n).value = "請輸入帳號";
else
document.getElementById(n).value = "請輸入密碼";
}
}
</script>
<form>
<input type="text" id="usr" onfocus="setPrompt(this.id)"
onblur="setPrompt(this.id)" value="請輸入帳號" />
<input type="text" id="pwd" onfocus="setPrompt(this.id)"
onblur="setPrompt(this.id)" value="請輸入密碼" />
<input type="submit" value="登入" />
</form>
然而,JavaScript 還有另一種函式的寫法,稱為 Function Expression,其函式名稱可省略。若該函式有命名,其名稱僅存在於函式定義內部。詳見以下說明:
// Function Expression 的語法
function() {
document.write("function called");
}
// 第一種用法:將其儲存為一個變數,往後便可直接呼叫該變數
var func = function() {
document.write("function called");
};
func();
// 第二種用法:將其作為另一個函式的參數,傳遞給另一個函式
function anotherFunc(passedFunc) {
passedFunc.call(this);
}
anotherFunc(function() {
document.write("function called");
});
// 第三種用法:定義後,立即呼叫自己
(function() {
document.write("function called");
})();
最後,想建立函式還有一種很特別的的作法,就是使用 Function() 建構函式 (Constructor)。範例:
var getSum = new Function('a', 'b', 'return a + b');
getSum(6, 8);