js中继承的封装

来源:互联网 发布:淘宝买身份证 编辑:程序博客网 时间:2024/04/30 09:00
        function createClass(jsonObj) {            //任意类为F            function F() {            }            for (var name in jsonObj) {                F.prototype[name] = jsonObj[name];            }            return F;        }        var Person = createClass({            getName: function () {                alert("name");            },            getId: function () {                alert('Id');            }        });        //var p = new Person();        //p.getName();        //p.getId();        /*        当该函数有一个参数的情况下,创建一个新类        当该函数有两个参数的情况下,第一个参数是基类,第二个参数就是在这个基类上添加内容。        */        function extend(obj,prop) {            function F() { }            if (typeof obj == "object") {                for (var name in obj) {                    F.prototype[name] = obj[name];                }            } else {                F.prototype = obj.prototype;                for(var name in prop){                    F.prototype[name] = prop[name];                }            }            return F;        }        var Person = extend(            {                name: "king of north",                id:6            }            );        var SuperPerson = extend(Person, { sex: "male" });        var sp = new SuperPerson();        alert(sp.name);        alert(sp.id);        alert(sp.sex);
0 0
原创粉丝点击