分享一种封装类的方法

先看代码

            //利用闭包实现
            var Book = (function(){ //按照编程习惯一般讲代表类的变量名首字母大写
               //静态私有变量
               var bookNum = 0;
               //静态私有方法
               function checkBook(name){};
               //创建类
               function _book(newID, newName, newPrice){
                       //私有变量
                       var name, price;
                   //私有方法
                   function checkID(id){}
                   //特权方法
                    this.getName = function(){};
                    this.getPrice = function(){};
                    this.setName = function(){};
                    this.setPrice = function(){};
                  //公有属性
                    this.ID = newID;
                   //公有方法
                    this.copy = function(){};
                    bookNum++
                    if(bookNum > 100)
                        throw new Error('我们仅出版100本书.');
                    //构造器
                    this.setName(name);
                    this.setPrice(price);
         }
            //构建原型
           _book.prototype = {
              //静态公有属性
              isJSBook : false;
              //静态公有方法
              display : function(){};
           };
           //返回类
               return _book;
    })()

基本思想

在一个立即执行函数中构建一个闭包(通过构造函数和构建原型)来创建一个类,然后通过return返回类并赋值给一个全局变量;

你可能感兴趣的:(分享一种封装类的方法)