Javascript初學筆記23 Arugments VS parameters

雖然之前在課程中我已經初步接觸過兩者的區別,但一時間要我說明我還是辦不太到,今天看了幾篇文章後做個簡單的紀錄,暫時記下自己目前的想法與認知。

function my_phone(brand,price,size){
//印出函式的arguments(這是JS已定義的內建數值)
console.log(arguments)
//簡單的分隔線
console.log('---------------')
}

看一下上方的程式碼,對我們來說parameters是個很好理解的東西,就是在執行函式時會填入的變數,以上方的例子來說自然就是brand,price &size了,那到底什麼是arguments?
arguments我目前的理解是在實際呼叫一個函式的時候,裡面 parameters 的值
一樣,我們舉個例子來看會更加的清楚。

 my_phone() // [] 
my_phone("ASUS") //["ASUS"]
my_phone("ASUS",17000) //["ASUS",17000]

後續就以此類推了,也就是說當我賦予這些parameters值的時候,整個函式的argument就被賦予了同樣的值。注意一下這時候函式回傳的會是個Array-like的東西,跟在操作DOM時的classList很相似,但同樣也具有length的屬性。

搞懂兩者的差別後,目前還沒有什麼實際的感受、或是這樣的東西究竟有多麼重要這是目前的我不得而知的,之後若有些實際案例會再針對這篇文章做更新! 這篇實在是挺偷懶的我承認!

發表留言