JS通过prototype实现继承的简单示例:

来源:互联网 发布:Select as mssql 编辑:程序博客网 时间:2024/06/11 08:21

JS通过prototype实现继承的简单示例:

var MYJS={};MYJS.extend=function(baseClass, prop) {if (typeof (baseClass) === "object") {prop = baseClass;baseClass = null;}// 本次调用所创建的类(构造函数)function F() {}// 如果此类需要从其它类扩展if (baseClass) {F.prototype = new baseClass();F.prototype.constructor = F;}// 覆盖父类的同名函数for (var name in prop) {if (prop.hasOwnProperty(name)) {F.prototype[name] = prop[name];}}return F;};
使用示例:
<script>        function Cls1(){            this.name="Cls1 class";            this.fun1 =function(){                console.log("Cls1.fun1");            };        }        var Cls2 = MYJS.extend(Cls1,             {                a:'a',                fun2:function(){                    console.log("Cls2.fun2");                }        });        var Cls3 = MYJS.extend(Cls2,             {                a:'cls3.b',                b:'b',                fun3:function(){                    console.log("Cls3.fun3");                }        });        var obj3 = new Cls3();        console.log(obj3.name);        console.log(obj3.a);        console.log(obj3.b);        obj3.fun1();        obj3.fun2();        obj3.fun3();           </script> 


1 0