zoukankan      html  css  js  c++  java
  • js继承

    /**
     * js里面不能//来注释
     *1、定义父函数和内部函数,传入json,遍历json的值并赋给内部函数原型,传出内部函数
     *2、定义子函数,指定父类函数的实现
     *3、调用子函数的方法
     */
    function Fu(jsonObj){
    	function F(){
    		
    	}
    	for(var name in jsonObj){
    		F.prototype[name]=jsonObj[name];
    	}
    	return F;
    }
    var Zi = Fu({
    	getId:function(){
    	alert("12");
    	},
    	getName:function(){
    	alert("李项京");
    	}
    });
    
    var z = new Zi();
    z.getName();
    z.getId();
    

    /**
     * 当该函数中有一个参数的情况下创建类
     * 当该函数中有两个参数的情况下,第一个参数是基类,第二个参数就是在基类的基础上添加的内容
     */
    function Fu(obj,jsonObj){
    	function F(){
    		
    	}  //为什么要有构造函数呢?而且构造函数名称还不能与函数名称相同
    	if(typeof obj=="object"){//JSON是object,zi/fu是函数
    		for(var name in obj){
    			F.prototype[name]=obj[name];
    		}
    	}else{
    		F.prototype=obj.prototype;
    		for(var name in jsonObj){
    			F.prototype[name]=jsonObj[name];
    		}
    	}
    	
    	return F;  //注意这里有个return
    }
    var Zi = Fu({  //继承
    	getId:function(){
    	alert("12");
    	},
    	getName:function(){
    	alert("sjoi");
    	}
    });
    var SupZi = Fu(Zi,{
    	getAge:function(){
    	alert("23");
    	}
    });
    var z = new Zi(); //new 一个函数对象
    var sz = new SupZi();
    z.getName();
    z.getId();
    sz.getName();
    sz.getId();
    sz.getAge();
    


  • 相关阅读:
    Transact_SQL小手册(各种sql语句大集合)
    矮人DOS工具箱 使用说明
    window.showModalDialog以及window.open用法简介 (转)
    正则表达式(转)
    Ajax.net用户指南(转)
    Java相关的开源GIS系统
    数据库操作之ODBC
    编译第一个OSG程序时候需要注意的
    OSG编译
    VC 多线程编程(转)
  • 原文地址:https://www.cnblogs.com/kuyuyingzi/p/4266235.html
Copyright © 2011-2022 走看看