关于js继承的一些代码

来源:互联网 发布:小票小标签打印软件 编辑:程序博客网 时间:2024/06/08 07:43
        function Person(name) {            this.name = name;            this.sayName = function () {                console.log("I'm " + name);            };        }        ;        //静态变量        Person.name = "Person";        console.log(Person.name);        var person = new Person("person");        console.log(person.name);        person.sayName();        //混合继承        function Man(name, age) {            Person.call(this, name);            this.age = age;        }        ;        Man.prototype = new Person("Man");        var man = new Man("man", 16);        man.sayName();        console.log(man.age);        //对象冒充        function Woman(name, weight) {            this.tempPerson = Person;            //在this作用域上运行Person(),使得Person()中的所有this指向当前的这个Woman的this,将Person所有的属性和方法成功复制            this.tempPerson(name);            //不删除此属性,则外部可访问            //delete this.tempPerson            this.weight = weight;        }        var woman = new Woman('woman', 45);        woman.sayName();        console.log(woman.weight);        console.log(woman.tempPerson.name);
哈哈,也不知道是什么时候看到的这些奇技淫巧了.
js继承就两种
一种就是原型链继承,关键代码是
Son.prototype = new Parent();
还有一种就是Object.create(Parent,{儿子属性});
                                             
0 0
原创粉丝点击