美文网首页
一些零散的js学习

一些零散的js学习

作者: 曾经过往 | 来源:发表于2016-10-19 11:59 被阅读0次

    推荐的创建对象方式####

    方法一:混合的构造函数/原型方式
    function Car(sColor,iDoors,iMpg) {
    this.color = sColor;
    this.doors = iDoors;
    this.mpg = iMpg;
    this.drivers = new Array("Mike","John");
    }
    Car.prototype.showColor = function() {
    alert(this.color);
    };
    var oCar1 = new Car("red",4,23);
    var oCar2 = new Car("blue",3,25);
    方法二:动态原型方法
    function Car(sColor,iDoors,iMpg) {
    this.color = sColor;
    this.doors = iDoors;
    this.mpg = iMpg;
    this.drivers = new Array("Mike","John");
    if (typeof Car._initialized == "undefined") {
    Car.prototype.showColor = function() {
    alert(this.color);
    };
    Car._initialized = true;
    }
    };
    这两种方式都解决了经典方式中成员方法会生成多份的问题或者新建对象的属性成员指向同一个引用对象的问题。而问题的根因在于function和object是引用类型,作为属性的object需要创建多份,而方法为节省空间在内存中应该只有一份。(说句实话--这段话还没看懂);

    相关文章

      网友评论

          本文标题:一些零散的js学习

          本文链接:https://www.haomeiwen.com/subject/lokxuttx.html