tôi có một đối tượng, được truyền vào nhiều hàm khác nhau bên trong một hàm. các chức năng này có thể hoặc không thể thay đổi giá trị của đối tượng, nhưng nếu chúng thay đổi nó, thì tôi muốn nhận được những thay đổi mới nhất trên đối tượng.đối tượng javascript pass như tham chiếu
Sau đây là những gì im cố gắng để làm:
var ob = {text: 'this is me', name: 'john'}
function (object) {
changeObject(object);
customObjectChanger(object);
callback = function (object) {
object.text = 'new text';
}
callback(object);
// object value here should be object{text: 'new text', name: 'john'};
}
Javascript tự động chuyển các đối tượng theo tham chiếu mọi lúc. Bạn đã thử mã trên của bạn để xem nó đã làm những gì bạn muốn? – jcsanyi
không, tôi chưa có. tôi đã đọc nó. chỉ muốn xác nhận ở đây. – Basit
JavaScript không * không * [Chuyển theo tham chiếu] (http://en.wikipedia.org/wiki/Evaluation_strategy#Call_by_reference). Tuy nhiên, JavaScript * không tạo bản sao của các đối tượng khi chúng được truyền hoặc gán *. Như vậy, nó là đối tượng * cùng * với một tên khác - các thay đổi được thực hiện cho đối tượng (từ bất kỳ tên nào) ảnh hưởng đến đối tượng đã nói. – user2246674