從我所知道的,javascript,也是基於ECMAscript和actionscript一樣,並不是真正的通過引用傳遞對象。至少這是我最近閱讀的內容。例如:javascript/actionscript是否真的通過引用傳遞?
function doStuff(myObj){
myObj.name = 'groovy chicken';
myObj = null;
}
var newObj = new Object();
doStuff(newObj);
這是一個例子,我在一本書「專業JavaScript進行Web開發人員」發現。儘管您將一個對象傳遞給該函數,並且添加name屬性實際上會將該屬性添加到您的初始對象,但當您設置爲null時,該對象將在本地作用域中銷燬,而不是在全局作用域中。
對我來說,這仍然有點令人困惑,因爲你的myObj仍然指向與newObj相同的位置,並且你可以動態地添加或改變屬性。唯一的區別是你不能在全球範圍內銷燬它。
所以我想知道如果相同也適用於動作,因爲從我讀過的,動作3實際上通過引用傳遞對象,我沒有讀任何說明相反的東西。