Trong Javascript OO, khi nào tôi nên sử dụng từ khóa this
?Khi nào sử dụng điều này trong javascript OO?
Ngoài ra, nếu tôi muốn gọi phương thức của một lớp từ một phương pháp khác của cùng một lớp, tôi có nên sử dụng this
hoặc chỉ tên của hàm? Ví dụ: điều này có đúng không?
function Foo()
{
this.bar= function()
{
alert('bar');
}
this.baz= function()
{
this.bar(); //should I use this.bar() or just bar()?
}
}
Bạn không thể sử dụng chỉ 'bar() 'vì' this' không bao giờ là tiềm ẩn trong JavaScript (vì nó không thực sự là một ngôn ngữ hướng đối tượng thích hợp.)' Bar() 'sẽ lần đầu tiên nhìn đối với một biến được định nghĩa là 'bar' trong hàm' this.baz', thì nó sẽ tìm một biến được định nghĩa là 'bar' trong hàm' Foo' và cuối cùng nó sẽ tìm trong phạm vi toàn cục, và thất bại là nó sẽ ném một lỗi. – Blixt
Điều quan trọng là phải tìm hiểu hệ thống nguyên mẫu JavaScript, vì vậy đây là một câu hỏi hay. Nhưng nếu tôi định làm một chương trình OO lớn trong JavaScript, tôi sẽ sử dụng Joose.js hoặc Js.Class. – Nosredna
Tại sao điều này lại được bình chọn? –