JS技术

javascript定义类的几种方法

字号+ 作者: 来源:    2014-11-17 20:00 我要评论( )

javascript定义类的几种方法,阅读javascript定义类的几种方法,/* 工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( factory function ) */ function createCar(color,doors,mpg){ var tempCar = new Object;&nbs...

/*
    工厂方式--- 创建并返回特定类型的对象的 工厂函数 ( factory function )
*/  
  
  
function createCar(color,doors,mpg){   
     var tempCar = new Object;   
     tempCar.color = color;   
     tempCar.doors = doors;   
     tempCar.mpg = mpg;   
     tempCar.showCar = function(){   
         alert(this.color + " " + this.doors);   
     }   
    return tempCar;   
}   
  
/*
    构造函数方式--- 构造函数看起来很像工厂函数
*/  
function Car(color,doors,mpg){   
    this.color = color;   
    this.doors = doors;   
    this.mpg = mpg;   
    this.showCar = function(){   
         alert(this.color);   
     };   
}     
/*
    原型方式--- 利用了对象的 prototype 属性,可把它看成创建新对象所依赖的原型
*/  
function Car(color,doors,mpg){   
    this.color = color;   
    this.doors = doors;   
    this.mpg = mpg;   
    this.drivers = new Array("nomad","angel");   
}   
  
Car.prototype.showCar3 = function(){   
     alert(this.color);   
};   
  
/*
    混合的构造函数 /原型方式--- 用构造函数定义对象的所有非函数属性,用原型方式定义对象的函数属性(方法)
*/  
function Car(sColor, iDoors, iMpg) {   
    this.color = sColor;   
    this.doors = iDoors;   
    this.mpg = iMpg;   
    this.drivers = new Array("Mike", "Sue");   
}   
  
Car.prototype.showColor = function () {   
     alert(this.color);   
};     
/*
     动态原型方法--- 在构造函数内定义非函数属性,而函数属性则利用原型属性定义。唯一的区别是赋予对象方法的位置。
*/  
function Car(sColor, iDoors, iMpg) {   
    this.color = sColor;   
    this.doors = iDoors;   
    this.mpg = iMpg;   
    this.drivers = new Array("Mike", "Sue");   
  
    if (typeof Car._initialized == "undefined") {   
  
         Car.prototype.showColor = function () {   
             alert(this.color);   
         };   
  
         Car._initialized = true;   
     }   
} //该方法使用标志( _initialized )来判断是否已给原型赋予了任何方法。   
利用原型prototype。 function Bar(text, url) {
this.text = text;

this.url = url;

}

Bar.prototype = {

render : function() {

document.write('<a href="' + this.url + '">' + this.text + '</a>');

}

}

 

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

相关文章
  • 学习JavaScript之this,call,apply

    学习JavaScript之this,call,apply

    2016-01-28 20:45

  • 零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道 - CSDN.NET qq_3

    零基础入门学习Python(10):函数 - qq_33256568的博客 - 博客频道

    2015-12-15 09:04

  • 【JavaScript.2】辨析Typeof操作符作用,罗列JS五大数据类型阵容 - 孟东辉 廊坊师范学院信息技术提高班

    【JavaScript.2】辨析Typeof操作符作用,罗列JS五大数据类型阵容 -

    2015-12-15 09:00

  • 图像处理中的数学原理详解19——函数的极限 - 白马负金羁的专栏 - 博客频道 - CSDN.NET 白马负金羁的专栏

    图像处理中的数学原理详解19——函数的极限 - 白马负金羁的专栏 - 博

    2015-12-14 19:00

网友点评
e