zoukankan      html  css  js  c++  java
  • 类的创建

    /**
     * @description Class 构造函数
     * @function
     * @public
     */
    
    var Class = function(parent){
    	var Klass = function(){
    		this.init.apply(this,arguments)
    	}
    	
    	/* 
    		@init method
    	*/
    	Klass.prototype.init = function(){}
    
    	Klass.fn = Klass.prototype
    
    	/*
    	 * @ description 继承
    	 * @ function
    	 * @ public
    	 * @ params {Object} 父元素
    	 * 
    	 */
    	
    	if(parent){
    		var subClass = function(){}
    		subClass.prototype = parent;
    		Klass.fn = new subClass();
    	}
    
    	/*
    	 * @ description 保持上下文
    	 * @ function
    	 * @ public
    	 */
    	Klass.proxy = function(func){
    		var self = this;
    		return (function(){
    			func.apply(self,arguments)
    		})
    	}
    
    	/*
    	 * @ description 
    	 */
    	Klass.extend = function(obj){
    		var extend = obj.extend
    		for(var i in obj){
    			if(obj.hasOwnProperty(i)){
    				Klass[i] = obj[i]
    			}
    		}
    		extend && extend(Klass)
    	}
    
    	Klass.include = function(obj){
    		var included = obj.included
    		for(var i in obj){
    			if(obj.hasOwnProperty(i)){
    				Klass.fn[i] = obj[i]
    			}
    		}
    		included && included(Klass)
    	}
    
    
    	Klass.fn.proxy = Klass.proxy;
    
    	return Klass
    
    }
    
    /*
    	创建实例 Button
     */
    var Button = new Class();
    Button.include({
    	init : function(element){
    		this.element = $('#aa')
    		this.element.click(this.proxy(this.click))
    	}, 
    	click : function(){}
    })
    

      

  • 相关阅读:
    索引
    varnish它是一款高性能的http缓存服务器
    前端性能优化浅谈
    锁机制-SQL Server 数据库
    NET Core中NuGet包
    “干掉” if...else
    混搭.NET技术
    MONO x64 amd_x64
    跨平台移动开发UI语言 -XAML
    使用LinqToExcel读取Excel
  • 原文地址:https://www.cnblogs.com/xiaohui108/p/3950448.html
Copyright © 2011-2022 走看看