[javascript] bind()、call()及apply(),function borrowing與function currying

在 javascript 中,每個函式都會是一個物件 function,它們包含了幾個預設的方法 bind()、call()及apply() 在這篇文章中,我們將介紹這幾個方法的使用 若有使用過 javascript,應該知道 this 這個關鍵字的相關用法,但有時候 this 會指向可能不是你所預想的物件,如這篇文章 以下這幾個方法主要是可以用在處理 this 所指向的物件 假設我們有一個 person 的物件,其中有 getFullName的方法,並且其中的 this 將指向 person 如: bind() 可以傳入一個參數,此參數將代表此函式中 this 所指向的物件。 如: 因此我們可以看到上面使用了 bind() 以後,函式中 this 將被取代為 person 物件 call() 跟 bind 很像,不過不需要再次 invoke 函式。在上面例子我們可以看到 bind() 完之後,我們還要再次 invoke 函式一次。 如: apply() 跟 call 很像,只差在參數部分要使用陣列。 如: 接下來,我們來看看以上這三個方法實際使用的範例及用法 function borrowing 相似的物件,共用方法。 […]

Continue reading