WEB开发网      濠电娀娼ч崐濠氬疾椤愶附鍋熸い鏍ㄧ〒闂勫嫰鏌﹀Ο渚Ц闁诲氦顕ч湁婵犲﹤楠告禍鍓х磼鏉堛劌绗氶柟宄版嚇閹晠宕归銈嗘濠电偞鍨堕幐鎾磻閹捐秮褰掓偐閻戞﹩妫勯梺鎼炲妼鐎涒晝绮嬪澶樻晝闁挎繂鏌婇敃鍌涚厵閻庢稒锚閻忥絾绻濇繝鍐ㄧ伌闁诡垰鍟村畷鐔碱敂閸♀晙绱樺┑鐐差嚟婵儳螞閸曨剚鍙忛柍鍝勬噹缁€澶嬬箾閹存繄锛嶆鐐灲閹綊宕惰濡插鏌涢妸銉ヮ劉缂佸倸绉归弫鎾绘晸閿燂拷 ---闂備焦瀵уú鈺呭箯閿燂拷
开发学院网页设计JavaScript JavaScript中的面向对象----类 阅读

JavaScript中的面向对象----类

 2010-09-14 13:24:12 来源:WEB开发网 闂備線娼уΛ鎾箯閿燂拷闂備礁鎲¢崹鐢垫崲閹扮増鍎嶆い鎺戝€甸崑鎾斥槈濞嗗秳娌紓鍌氱▌閹凤拷濠电姭鎷冮崨顓濈捕闂侀潧娲ゅú銊╁焵椤掍胶鈯曢柕鍥╁仧缁辩偤鏁撻敓锟�闂備線娼уΛ鎾箯閿燂拷  闂備胶枪缁绘鈻嶉弴銏犳瀬闁绘劕鎼痪褔鏌曟繝蹇曠窗闁煎壊浜滈—鍐偓锝庡墮娴犙勭箾閸喎鐏ユい鏇樺劦椤㈡瑩鎮℃惔銇帮拷
核心提示: 优点:看起来和更像一个类 声明实例用new运算符缺点:对象的函数会重复生成3、原型方式functionCar(){}Car.prototype.color="red";Car.prototype.doors=4;Car.prototype.mpg=23;Car.prot

优点:看起来和更像一个类 声明实例用new运算符

缺点:对象的函数会重复生成

3、原型方式

functionCar(){
}
Car.prototype.color="red";
Car.prototype.doors=4;
Car.prototype.mpg=23;
Car.prototype.showColor=function(){
  alert(this.color);
}
varoCar1=newCar();
oCar1.showColor();
alert(oCar1instanceofCar);

原理:js中的prototype

优点:避免了函数的重复创建

缺点:没有带参数的构造函数 属性如果是引用类型(比如Array),那么一个对象的属性改变,另外一个对象的同一个属性也会跟着改变

4、构造函数/原型方式

functionCar(sColor,iDoors,iMpg){
  this.color=sColor;
  this.doors=iDoors;
  this.mpg=iMpg;
}
Car.prototype.showColor=function(){
  alert(this.color);
}
varoCar1=newCar("red",4,23);
oCar1.showColor();
alert(oCar1instanceofCar);

优点:避免了函数的重复创建 并且避免了构造函数方法的引用类型属性的缺点

缺点:方法在类的外边定义的

5、动态原型方式

functionCar(sColor,iDoors,iMpg){
  this.color=sColor;
  this.doors=iDoors;
  this.mpg=iMpg;
  if(typeofCar._initialized=="undefined"){
    Car.prototype.showColor=function(){
      alert(this.color);
    }
    Car._initialized=true;
  }
}
varoCar1=newCar("red",4,23);
oCar1.showColor();
alert(oCar1instanceofCar);

Tags:JavaScript 面向 对象

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接