Ajax 板


LINE

最近學了 JS的by refenerce用法 跟JAVA 的by value 去比較 我這邊的理解是一模一樣 為什麼名稱會不一樣呢? 這裡有點不太理解 希望有高人能指點一下 JS: var c = { greeting: 'hi' }; var d; d = c; c.greeting = 'hello'; console.log(c); console.log(d); // by reference (even as parameters) function changeGreeting(obj) { obj.greeting = 'Hola'; // mutate } changeGreeting(d); console.log(c); console.log(d); JAVA: public static void main(String[] args) { StringBuffer a = new StringBuffer("A"); StringBuffer b = new StringBuffer("B"); StringBuffer c = a; operate(a,b); System.out.println(a+","+b);//AB,B System.out.println("c:" + c); } static void operate(StringBuffer x,StringBuffer y){ x.append(y); y=x; } https://pjchender.blogspot.tw/2016/03/javascriptby-referenceby-value.html 這是那堂課的相關筆記 裡面提到JS是 by reference --



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







like.gif 您可能會有興趣的文章
icon.png[問題/行為] 貓晚上進房間會不會有憋尿問題
icon.pngRe: [閒聊] 選了錯誤的女孩成為魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一張
icon.png[心得] EMS高領長版毛衣.墨小樓MC1002
icon.png[分享] 丹龍隔熱紙GE55+33+22
icon.png[問題] 清洗洗衣機
icon.png[尋物] 窗台下的空間
icon.png[閒聊] 双極の女神1 木魔爵
icon.png[售車] 新竹 1997 march 1297cc 白色 四門
icon.png[討論] 能從照片感受到攝影者心情嗎
icon.png[狂賀] 賀賀賀賀 賀!島村卯月!總選舉NO.1
icon.png[難過] 羨慕白皮膚的女生
icon.png閱讀文章
icon.png[黑特]
icon.png[問題] SBK S1安裝於安全帽位置
icon.png[分享] 舊woo100絕版開箱!!
icon.pngRe: [無言] 關於小包衛生紙
icon.png[開箱] E5-2683V3 RX480Strix 快睿C1 簡單測試
icon.png[心得] 蒼の海賊龍 地獄 執行者16PT
icon.png[售車] 1999年Virage iO 1.8EXi
icon.png[心得] 挑戰33 LV10 獅子座pt solo
icon.png[閒聊] 手把手教你不被桶之新手主購教學
icon.png[分享] Civic Type R 量產版官方照無預警流出
icon.png[售車] Golf 4 2.0 銀色 自排
icon.png[出售] Graco提籃汽座(有底座)2000元誠可議
icon.png[問題] 請問補牙材質掉了還能再補嗎?(台中半年內
icon.png[問題] 44th 單曲 生寫竟然都給重複的啊啊!
icon.png[心得] 華南紅卡/icash 核卡
icon.png[問題] 拔牙矯正這樣正常嗎
icon.png[贈送] 老莫高業 初業 102年版
icon.png[情報] 三大行動支付 本季掀戰火
icon.png[寶寶] 博客來Amos水蠟筆5/1特價五折
icon.pngRe: [心得] 新鮮人一些面試分享
icon.png[心得] 蒼の海賊龍 地獄 麒麟25PT
icon.pngRe: [閒聊] (君の名は。雷慎入) 君名二創漫畫翻譯
icon.pngRe: [閒聊] OGN中場影片:失蹤人口局 (英文字幕)
icon.png[問題] 台灣大哥大4G訊號差
icon.png[出售] [全國]全新千尋侘草LED燈, 水草

請輸入看板名稱,例如:Soft_Job站內搜尋

TOP