遞迴(Recursion)

遞迴(Recursion):

遞迴是一種函式在函式本體內呼叫自己的程式設計技巧。遞迴是一種很"直觀"的設計技巧。會這麼說是因為有些特殊例子使用其他演算法,像是迴圈來解釋的話會十分複雜,但使用遞迴的話,演算法就會變得很直觀。最著名的例子大概就是河洛塔( Hanoi tower)了。不過Hanoi tower其實有點複雜。所以就用一個簡單的入門例子吧。求某數值的階乘n!。這例子其實可以用迴圈解,也不太難。不過簡單好理解,所以很常被用來解釋遞迴。迴圈解法就不說了,反正就是一直跑圈就是。

閱讀全文:遞迴(Recursion)

函式的參數--傳值或傳址

函式的參數--傳值或傳址:

函式的參數是用來與程式本體進行資料傳遞使用。一般傳遞參數的方式分為傳址或傳值。但Javascript不像C一樣,有特殊的運算子來決定傳值或傳址。而是以資料型態作為依據。

對Javascript而言,函式參數的資料型態若是基本的資料型態,像是數值,字串,布林值,則會是以傳值的方式來進行傳遞,而當參數若是物件時則是以傳址來進行。

下面用一個範例來看看其差別:

立即函式(IIFE)

Javascript的立即函式(Immediately Invoked Function Expression):

立即函是是Javascript中一種可以立即執行的函式,其本質其實是個函式表示式。下面程式碼代表著一個簡單的立即函式。

(function(){
  // my special code
}());

其中的括號()代表的就是立刻執行該函式。在語法上,括號()也可以被放到左括號)外面,像是這樣。

(function(){
  // my special code
})(); 

閱讀全文:立即函式(IIFE)

函式 Function

Javascript的函式(Function):

在Javascript中,"函式是個物件",就像是一般物件一樣,差別是他可以被呼叫。函式可以用來完成某種特殊功能,或是用來處理資料。在任何一種語言當中函式都是不可或缺的重要腳色。

下面是一個簡單的Javascript函式,當它被呼叫時。會跳出一個對話方塊,顯示一段歡迎字串。

閱讀全文:函式 Function

正規表達式pattern的字元與意義對照表

正規表達式pattern的字元:

正規表達式功能十分強大,不過十分複雜,我把正規表達式樣本使用的字元跟說明對照表弄了出來。

還附上了例子的圖形,能比較好理解。

這表格從維基百科修改的,我用我的理解重新寫了出來,並附上例子與圖形。

閱讀全文:正規表達式pattern的字元與意義對照表