分享一种封装类的方法

先看代码

            //利用闭包实现
            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返回类并赋值给一个全局变量;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容