iT邦幫忙

DAY 24
4

JavaScript 三十參系列 第 24

JavaScript 三十參(24):函式(4/4)

參與iT邦JavaScript中忍比賽,獲得一本JS武林祕級“JavaScript設計模式”,因而閉門修練月餘,今神功既成故節錄三十片段,以饗邦友。


由於函式在JS實在太重要,所以在此節我們繼續加強說明函式重點:參數。

JS函式中的參數,可以直接視為“建議”參數,也就是:

“定義時就算有指定,但呼叫時不給也沒關係。”

先看範例:

var myFunc = function(a,b,c) { };	//標準的參數

myFunc(1);
//a=1, b,c皆為undefined,不會發生錯誤

myFunc(1,2);
//a=1, b=2, c為undefined,不會發生錯誤

myFunc(1,2,3);
//a=1, b=2, c=3,不會發生錯誤

myFunc(1,2,3,4,5,6,7,8,9,10);
//a=1, b=2, c=3,不會發生錯誤

在最後一例中,若我們要存取參數中的第4個至第10個,那該怎麼作呢?

所幸每個函式都會有內建的屬性來記錄參數群:

for (var i = 0; i < arguments.length; i++){
	console.log(arguments[i]);
};

因為arguments雖看起來像似Array,但其實並不完全如此。所以為了真能使用Array方法(splice, slice, push, pop),需把參數群轉換成Array,指令如下:

var args = Array.prototype.slice.apply(arguments);

JS函式功能既強大又重要,此節為四小段之最後一段,若能熟練之,則有好沒壞啦!!

咱先進廣告,明天回來...

(待)

JavaScript 三十參(總整理)


上一篇
JavaScript 三十參(23):函式(3/4)
下一篇
JavaScript 三十參(25):閉包(Closure)
系列文
JavaScript 三十參30

2 則留言

0
老鷹(eagle)
iT邦高手 1 級 ‧ 2012-11-01 15:12:29

沙發筆記

為什麼又進廣告 節目太短抗議

ted99tw iT邦高手 1 級 ‧ 2012-11-01 15:21:06 檢舉

第一段廣告:老鷹表演空手道與坐沙發....偷笑

早鳥禮,咖啡一杯~~~

總裁 iT邦好手 1 級 ‧ 2012-11-01 16:09:02 檢舉

您好,我是新聞局督察,據報您的節目廣告太多,我們特來取締.....

先孫,您搞清楚好不好,你們新聞局早就收掉了好不好,還想來唬我...冷

ted99tw iT邦高手 1 級 ‧ 2012-11-01 16:14:12 檢舉

做完這湍,下次要改到淡水開茶室,裏面要有金門王的牌子和位子...冷

0
魯大
iT邦高手 1 級 ‧ 2012-11-01 16:39:43

看到廣告,轉台.. 毆飛

ted99tw iT邦高手 1 級 ‧ 2012-11-01 16:43:51 檢舉

轉台前還是有看,所以PO文者還是感覺粉良好....謝謝

我要留言

立即登入留言