[聚合文章] js面向对象

JavaScript 2017-08-17 22 阅读
  • 深拷贝:解决传址问题
    把对象使用JSON.stringify方法转变成json格式数据 ,然后在使用JSON.parse解析json字符串,这个看起来在做一些浪费时间的事情,但数据经过这样转变后,改变arr2的值,不会影响到arr的值。
  • var arr2 = JSON.parse(JSON.stringify(arr));

    三、工厂模式

    工厂模式:使用函数封装一个创建对象的接口,实例化对象。用于解决变量的污染。下面例子是工厂模式的一般写法;

    function Factory(height){            // obj人类;        var obj = {};            obj.name = "小明";            obj.height = height;            obj.age = 20;            obj.hobby = function(){                console.log("我喜欢篮球");            }            return obj;        }        var newFactory = Factory("180cm");        console.log(newFactory.height);        newFactory.hobby();

    四、构造函数

    1. 构造函数类似于类的概念,在es6还没之前,都是使用构造函数,它与类相似,首字母大写(约定俗成的).

    构造函数的原型:
    对象是由自身和原型共同构成的;对象的原型是proto
    构造函数是由自身和原型共同构成的;构造函数的原型prototype
    属性写在构造函数里;方法写在原型上;

    // 定义构造函数 (this)        function Car(style1,color){            // obj.type = type;            this.type = style1;            this.color = color;            this.action = function(){                console.log("跑");            }        }
    1. 调用构造函数
    // 实例化 关键字:new(把抽象类具体化,把类变成对象);        var car1 = new Car("宝马","红色");        console.log(car1.type);        car1.action();

    注:本文内容来自互联网,旨在为开发者提供分享、交流的平台。如有涉及文章版权等事宜,请你联系站长进行处理。