Hãy nhìn vào đoạn mã sau:Đi qua một tham số như một con trỏ trong Javascript
var o;
(function (p) {
p = function() {
alert('test');
};
})(o);
o(); // Error: 'o is not a function'
Trong các chức năng trên, chúng tôi đang tạo ra một chức năng vô danh mà phải mất một tham số, mà tự gọi với một tạo trước đó đối tượng được truyền dưới dạng tham số. Sau đó, tôi đang trỏ đối tượng này đến một hàm (từ bên trong phạm vi mới) và cuối cùng (cố gắng) để gọi nó từ bên ngoài.
Câu hỏi của tôi là, làm thế nào tôi có thể chuyển đối số đó 'bằng cách tham chiếu' để thay đổi con trỏ trỏ đến?
Thực ra, "chuyển bằng tham chiếu" là một chút của một từ khóa sai trong JavaScript. Tương đối so với các ngôn ngữ khác có các loại tham chiếu "đúng", JavaScript không * không * chuyển bất kỳ thứ gì theo tham chiếu. Nó luôn luôn đi theo giá trị. Giá trị đó có thể * giữ * một tham chiếu, đó là những gì tôi nghĩ bạn đang cố gắng nói. –