2009-05-29 36 views

Trả lời

2

Javascript sử dụng OO dựa trên nguyên mẫu theo mặc định.

Tuy nhiên, nếu bạn đang sử dụng thư viện mẫu, ví dụ, bạn có thể sử dụng Class.create().

http://prototypejs.org/api/class/create

Nó sẽ cho phép bạn tạo ra (hoặc thừa kế) một lớp, sau khi bạn sẽ nhanh chóng trường hợp của nó với mới.

Các thư viện khác có thể có các cơ sở tương tự.

+0

Một số có. jQuery không, vì nó hy vọng rằng bạn sẽ có nhiều khả năng đối phó với các bộ sưu tập jQuery hơn là với các lớp. – Nosredna

3
function Foo() { 
    // constructor 
} 

Foo.prototype.bar = function() { 
    // bar function within foo 
} 
+0

Tôi nghĩ bạn có thêm "hàm" ở đầu 'bar'. :-) –

+0

Vâng. Ngoài ra, đừng quên đề cập rằng bạn phải sử dụng Foo mới(). – alamar

+0

Rất tiếc cố định, vì vậy không được sử dụng để viết javascript oo. –

0

Đó là "loại" có thể. Prototype có một số trợ giúp được tích hợp sẵn để viết các lớp trong JS. Hãy xem this thorough description về cách bạn có thể làm điều đó.

var namedClass = Class.create({ 
    initialize: function(name) { 
     this.name = name; 
    } 

    getName: function() { 
     return this.name; 
    } 
}); 
var instance = new namedClass('Foobar'); 
0

JavaScript dựa trên các đối tượng chứ không phải lớp. Nó sử dụng thừa kế prototypal, không phải thừa kế cổ điển.

JavaScript dễ uốn và dễ mở rộng. Kết quả là, có rất nhiều thư viện bổ sung thêm tính cổ điển vào JavaScript. Tuy nhiên, bằng cách sử dụng chúng, bạn có nguy cơ viết mã rất khó cho hầu hết các lập trình viên JavaScript làm theo.

Các vấn đề liên quan