克服JS奇怪的部分_ 函數就是物件

Huang Pei
2 min readSep 16, 2019

--

一級函數(First Class Functions)

本筆記出自:JavaScript 全攻略:克服 JS 的奇怪部分

一級函數(First Class Functions)

Everything you can do with other types you can do with functions.

Assign them to variables, pass them around, create them on the fly.

可以對別的型別做的事,都可以對函數做。

可以指派一個變數的值為函數、可以將函數當做參數傳入另一個函數..

這個函數是有其他屬性的物件,你寫的程式(CODE)只是其中一種加上去的屬性,而它是可以被呼叫的(Invocable)

函數想像成物件,而它的程式碼是那個物件的屬性之一,還有許多其他東西函數能夠包含,還有許多其他事情函數可以做。

他可以被移動、複製、傳入另一個東西,就像是任何物件或值一樣, 就像是字串或數字一樣。

function greet(){
console.log(‘Hi’) }
利用和物件一樣的方式加入屬性:
greet.language=’English’
_____
console.log(greet) //ƒ greet(){ console.log(‘Hi’)}
console.log(greet.language) // English
greet 函數物件被創造後被放進記憶體,這個情況中是全域物件,然後它有名稱,有程式屬性,用greet()呼叫函數,讓它執行讓執行環境被創造。

函數只是程式碼的容器,你可以到處使用,它在記憶體中一個特定的位置,它有屬性、它有方法,因為在 JavaScript 中函數就是物件。

--

--

Huang Pei
Huang Pei

Written by Huang Pei

記錄用倉庫,歡迎指正。菜鳥前端,最菜的那種(超能力少女です)。

No responses yet