이 기사의 예에서는 JS 익명 함수 클래스를 생성하는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
<script type="text/javascript"> var Book = (function() { // 私有静态属性 var numOfBooks = 0; // 私有静态方法 function checkIsbn(isbn) { if(isbn == undefined || typeof isbn != 'string') { return false; } return true; } // 返回构造函数 return function(newIsbn, newTitle, newAuthor) { // implements Publication // 私有属性 var isbn, title, author; // 特权方法 this.getIsbn = function() { return isbn; }; this.setIsbn = function(newIsbn) { if(!checkIsbn(newIsbn)) throw new Error('Book: Invalid ISBN.'); isbn = newIsbn; }; this.getTitle = function() { return title; }; this.setTitle = function(newTitle) { title = newTitle || 'No title specified'; }; this.getAuthor = function() { return author; }; this.setAuthor = function(newAuthor) { author = newAuthor || 'No author specified'; }; // 控制对象数目,构造函数 numOfBooks++; // Keep track of how many Books have been instantiated // with the private static attribute. if(numOfBooks > 5) throw new Error('Book: Only 5 instances of Book can be ' + 'created.'); this.setIsbn(newIsbn); this.setTitle(newTitle); this.setAuthor(newAuthor); } })(); // 公有静态方法 Book.convertToTitleCase = function(inputString) { alert('convertToTitleCase'); }; // 公有非特权方法 Book.prototype = { display: function() { alert("isbn:"+this.getIsbn()+" title:"+this.getTitle()+" author:"+this.getAuthor()); } }; //var theHobbit = new Book(123, '', 'J. R. R. Tolkein'); // 非字符串抛出异常 var theHobbit = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); theHobbit.display(); //theHobbit.convertToTitleCase(); // Uncaught TypeError: Object #<Object> has no method 'convertToTitleCase' Book.convertToTitleCase(); // 输出convertToTitleCase var theHobbit2 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); theHobbit2.display(); var theHobbit3 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); theHobbit3.display(); var theHobbit4 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); theHobbit4.display(); var theHobbit5 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); theHobbit5.display(); var theHobbit6 = new Book('1990-78sd-1092', '', 'J. R. R. Tolkein'); theHobbit6.display(); // Uncaught Error: Book: Only 5 instances of Book can be created. </script>
여기서 JS가 마스터되었습니다. 극도로 존경합니다. 코드는 명확하고 간결하며 아름답습니다. 댓글은 단지 오른쪽.