Có cách nào để gọi các hàm javascript "công khai" từ các hàm "riêng tư" trong một lớp không?Truy cập các phương thức "Công khai" từ các phương thức "Riêng tư" trong lớp javascript
Kiểm tra các lớp dưới đây:
function Class()
{
this.publicMethod = function()
{
alert("hello");
}
privateMethod = function()
{
publicMethod();
}
this.test = function()
{
privateMethod();
}
}
Đây là mã tôi chạy:
var class = new Class();
class.test();
Firebug cho lỗi này:
publicMethod không được định nghĩa: [Phá vỡ về vấn đề này error] publicMethod();
Có cách nào khác để gọi publicMethod() trong privateMethod() mà không truy cập vào biến lớp toàn cầu [tức là class.publicMethod()]?
Tôi hy vọng nó chỉ là lỗi chính tả trong ví dụ của bạn ở đây, nhưng 'privateMethod' của bạn là một biến toàn cục. –
Trong Firefox nếu tôi gọi 'class.privateMethod()' có một lỗi trong khi 'class.publicMethod()' hoạt động tốt, do đó, có vẻ như có sự khác biệt giữa hai hàm. – mon4goos