Tôi vừa mới bắt đầu đọc lên trên OOP javascript và một điều mà tác giả dường như bỏ qua là khi một đối tượng A đã được công bố và đột nhiên tôi thấy "A.prototype.constructor = A; Ví dụ,Tại sao sử dụng object.prototype.constructor trong OOP javascript?
var A = function(){}; // This is the constructor of "A"
A.prototype.constructor = A;
A.prototype.value = 1;
A.prototype.test = function() { alert(this.value); }
var a = new A(); // create an instance of A
alert(a.value); // => 1
Vì vậy, tôi chạy lệnh trong firebug "var A = function() {};" và sau đó "A.Constructor" cho thấy đó là một chức năng.Tôi hiểu điều này.
Tôi chạy mã "A.prototype. constructor = A; "và tôi nghĩ điều này thay đổi hàm tạo A từ Hàm thành A.
Thuộc tính hàm tạo của A đã là chan ged phải không? Thay vào đó khi tôi chạy "A.constructor" nó mang lại cho tôi hàm().
Vấn đề là gì?
Tôi cũng thấy A.constructor.prototype.constructor.prototype .. điều gì đang xảy ra?
Những tác giả, ở đâu? –
Mã tôi nhận được từ đây là http://www.ruzee.com/blog/2008/12/javascript-inheritance-via-prototypes-and-closures – Matt