码迷,mamicode.com
首页 > Web开发 > 详细

js中面向对象

时间:2016-08-22 23:16:54      阅读:163      评论:0      收藏:0      [点我收藏+]

标签:

继承方式:

  1、拷贝继承:通用型  有new无new都可以用

  2、类式继承:new构造函数

  3、原型继承:无new的对象

  属性继承:调用父类的构造函数call

  方法继承:用for in的形式 拷贝继承(jq也用拷贝继承)

        var a = {
            name: ‘小米‘
        };
        //拷贝继承
        function extend(obj1, obj2) {
            for (var attr in obj2) {
                obj1[attr] = obj2[attr];
            }
        }
        //原型继承
            var b=cloneObj(a);
            b.name=‘小乔‘;
            alert(a.name);
            alert(b.name);
            function cloneObj(obj) {
                var F=function () {};
                F.prototype=obj;
                return new F();
            }
        //类式继承
        function A() {//父类
            this.name=‘小米‘;
        }
        A.prototype.showName=function () {
            alert(this.name);
        }
        function B() {//子类
            A.call(this);//属性和方法分开继承
        }
        var F=function () {};
        F.prototype=A.prototype;
        B.prototype=new F();
        B.prototype.constructor=A;//修正指向问题
        var b1=new B();
        b1.name=‘笑笑‘;
        b1.showName();

 

js中面向对象

标签:

原文地址:http://www.cnblogs.com/yuxingyoucan/p/5797142.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!