iT邦幫忙

DAY 9
0

JavaScript學習路系列 第 9

JavaScript學習路-(09)Function-1

  • 分享至 

  • xImage
  •  

函式 (function) 是一段執行復合敘述的程式碼,運作的方式就像是人接收到指令,
在腦中分析統整後做出待辦清單,將事情一一完成。

function 的式子為:

function identifier (Arguments) {
statements...

return theValue;
}

identifier (標示):是函式的命名,最好使用駝峰式命名。
騎腳踏車出門 = ridingBikeToGoOut();
寫數學作業 = writingMathHomework();
Arguments 是引數、參數(列)的意思,放在 () 裡為了把資料傳給 function ,() 中可以有一個以上的引數。引數的資料形態不拘,通常是變數、數字、或者常數。
statements 就是放複合敘述啦~復合敘述記得要用大括號 {} 給他包起來
return: 回傳 function 值 (theValue) ,用在需要回傳值的地方。在回傳值的同時也同時結束函式。

如何呼叫函式?看看很常用的 alert();
跟 function(); 長得實在是太像了,由此可知呼叫方式就是打上 function(Arguments); 即可~
(在呼叫前別忘記先把函式寫好...)

函式好用的地方除了分類達到原始碼的整潔、將同類型的原始碼做整理歸納、重複利用以外,還可以避免原始碼互相影響,最好的例子就是全域變數跟區域變數:區域變數放在函式內,不會被全域變數互相影響。

以下大致整理函式的特點:

1. 整理歸納原始碼
要把雜物收進箱子裡,首先要做以下的事:打開箱子、把東西放進箱子、關箱子

openTheBox();
putIntoTheBox();
closeTheBox();

雖然看起來好像沒幾行,不過如果以後越寫越多或者隔很久才打開檔案,
可能會有看到天書般的感悟 orz
改成函式的話,只要記得去找函式即可:

function sortOutSomething() {
openTheBox();
putIntoTheBox();
closeTheBox();
}

2. 重複利用原始碼
聽說好的工程師們都很懶惰(這是稱讚),可以只做一次的事情怎麼可能還要做兩次以上?
這時候就讓 function 上場吧~
像上例已有收進箱子的函式,當我現在要在兩個地方都做一樣的事時,
只要呼叫函式,不必一項項複製貼上。

function RoomA() {
sortOutSomething();
}
function RoomB() {
sortOutSomething();
}
  1. 原始碼間不互相影響,以全域變數及區域變數為例

    var hello = "world";
    function myFunction() {
    var hello = "kitty";
    return hello;
    }
    alert(hello);
    myFunction();

這時候 alert 出來的結果依然是 "world" ,myFunction() 的結果是 "kitty"

而函式的參數也類似區域變數的效果,函式內外不受影響(物件參數除外)

var kg = 50;
function Weight(kg) {
kg--;
}
alert(kg);

雖然函式內做了運算,但是 alert 結果還是 50

以上同步發表於 http://azzurro.blog.aznc.cc/learn_javascript_09/


上一篇
JavaScript學習路-(08)Array
下一篇
JavaScript學習路-(10)Function-2
系列文
JavaScript學習路30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言