DZone's ref 카드는 객체 지향 자바 스크립트에 대한 훌륭한 참고 자료를 제공하므로 적극 추천합니다. 관련 단락
정적 멤버에 대한 직접적인 지원은 없습니다. 생성자 함수 은 정적 멤버를 만드는 데 사용됩니다. 정적 멤버는 "this"키워드를 사용하여 에 액세스 할 수 없습니다.
개인 정적 멤버
function Factory(){}
// public static method
Factory.getType = function(){
return “Object Factory”;
};
// public static field
Factory.versionId = “F2.0”;
Factory.prototype.test = function(){
console.log(this.versionId); // undefined
console.log(Factory.versionId); // F2.0
console.log(Factory.getType()); // Object Factory
}
var factory = new Factory();
factory.test();
공공 정적 멤버 충분히
var Book = (function() {
// private static field
var numOfBooks = 0;
// private static method
function checkIsbn(isbn) {
if (isbn.length != 10 && isbn.length != 13)
throw new Error(“isbn is not valid!”);
}
function Book(isbn, title) {
checkIsbn(isbn);
this.isbn = isbn;
this.title = title;
numOfBooks++;
this.getNumOfBooks = function() {
return numOfBooks;
}
}
return Book;
})();
var firstBook = new Book(“0-943396-04-2”, “First Title”);
console.log(firstBook.title); // First Title
console.log(firstBook.getNumOfBooks()); // 1
var secondBook = new Book(“0-85131-041-9”, “Second Title”);
console.log(firstBook.title); // First Title
console.log(secondBook.title); // Second Title
console.log(firstBook.getNumOfBooks()); // 2
console.log(secondBook.getNumOfBooks()); // 2
재미 나는 이미이 질문에 대한 답을 찾기 위해 노력하고 그 많은 일을 읽은 및 실패했습니다. 내가 어떻게 든 그것을 놓쳤을 가능성이있다, 내가보고 있어야하는 특정 섹션이 있는가? –