这是什么函数写法?有什么优点?

var CanvasDraw = {
        canvas:null,//canvas元素
        context:null,//canvas环境
        fps:30,//帧频
        type:null, //类型 letter或 img 对象
        drawObj:null,
        gap:null,
        dotsData:[],
        dots:[],

        Init:function(canvas,width,height,type,drawObj,gap,fps,fn){
            
            CanvasDraw.canvas = canvas;
            CanvasDraw.context = canvas.getContext("2d");
            
            CanvasDraw.canvas.width=width;
            CanvasDraw.canvas.height=height;
                        
            CanvasDraw.fps = fps || 30;
            CanvasDraw.type = type || "letter";
            CanvasDraw.gap=gap||10;
                
            CanvasDraw.drawObj=drawObj;
            CanvasDraw.dotsData=[];
            CanvasDraw.dots=[];
            
            CanvasDraw.ShapeBuilder.Init();    
           },    
         Render:function(canvas,width,height,type,drawObj,fps,fn){
            this.Init(canvas,width,height,type,drawObj,fps,fn);
         },
         StopRender:function(fn){
                
             }
         
}

还有就是这个算是构造函数吗?

阅读 2.8k
6 个回答

面向对象编程,要说这种写法有什么优点话,避免污染全局变量

这个是对象的方法呀

对象字面量函数

对象字面量写法,这段代码是创建了一个CanvasDraw对象,并不是构造函数。

谢邀!这是面向对象编程。不是构造函数,构造函数是个方法,你这只是对象。

有new 的 才是构造函数把 你这是对象字面量的写法把

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题