推 eight0: 是指 pass by reference? JS 沒有這種功能 07/29 13:20
→ chiang0514: 我看Udemy 克服JS奇怪步份,說物件是by reference 07/29 14:37
→ chiang0514: 可是我覺得比較像JAVA的 byy value 07/29 14:39
※ 編輯: chiang0514 (123.192.30.30), 07/29/2017 14:41:40
推 CloudyWing: 因為object的變數存的是reference,所以有些書為了讓 07/29 15:03
→ CloudyWing: 人了解,就會直接說是pass by reference 07/29 15:04
→ ssccg: 這種傳送法叫做 pass by (reference) value 07/29 15:32
→ ssccg: 說成pass by reference基本上是錯的,pass by reference的 07/29 15:34
→ ssccg: 話對參數就等於原變數,以你的例子在函式中把obj = null 07/29 15:37
→ ssccg: 那d也會變null,而不再指向c。js沒有這種的 07/29 15:37
→ ssccg: 在談傳參數方法時,重點只要放在參數那個變數也就是obj 07/29 15:49
→ ssccg: obj指向的物件的屬性可以改應該用物件是mutable來說明 07/29 15:50
推 CloudyWing: 寫C#後才發現當初所謂的pass by reference只是為了讓 07/29 16:02
→ CloudyWing: 大家知道傳遞value type和reference type的差異,並不 07/29 16:03
→ CloudyWing: 準確,但和周遭的人糾正都是pass by value時 07/29 16:04
→ CloudyWing: 被說分太細了,和新人這樣提會弄混他們 =.=a 07/29 16:05
→ s25g5d4: 見 Call by sharing 章節 07/29 16:16
→ bibo9901: call-by-sharing 只是描述行為而已 沒有解釋任何事 07/30 09:39
→ bibo9901: 會講到call-by-value/reference都是以C/C++的角度去看 07/30 09:40
→ bibo9901: js/java/python的reference 就是 C/C++的pointer 07/30 09:42
→ bibo9901: mutable obj 是 T* ptr; immutable obj 是 const T *ptr 07/30 09:44