首頁 > web前端 > js教程 > 基於JavaScript 類別的使用詳解_基礎知識

基於JavaScript 類別的使用詳解_基礎知識

WBOY
發布: 2016-05-16 17:34:31
原創
1171 人瀏覽過

以下為建構子方法建立類別:

複製程式碼


程式碼🎜>
function className (prop_1, prop_2, prop_3) { 
this.prop1 = prop_1; 
this.prop2 = prop_2; 
this.prop3 = prop_33;
有了上面的類,我們就可以為類別建立實例:
複製程式碼複製程式碼

程式碼如下:

var obj_1 = new className(v1, v2, v3)
var obj_2 = new className(v1, v2, v3)
我們也可以給類別添加方法(method),其實就是Function裡的Function。 複製程式碼

程式碼如下:


function className (prop_1, prop_2, prop3, prop. >  this.prop1 = prop_1;
  this.prop2 = prop_2;
  this.prop3 = prop_3;
  this.func = function new_meth.> 🎜>}


屬性存取域: 在JavaScript裡,物件的屬性預設都是全域的,也就是說,物件內外都可以直接存取該屬性。上面例子裡this.prop1, this.prop2, this.prop3都是全域屬性。

如何定義私有屬性?使用var,在下面的例子裡,price變成了私有屬性!


複製程式碼 程式碼如下:
function Car( listedPrice, colorcolor ) {    this.color = color;
    this.honk = function() {
       >

如果你想存取私有屬性,那麼你可以在物件內新增一個方法去回傳這個私有屬性,因為方法在物件內,所以可以存取物件的私有屬性。在外部呼叫該方法,就可以存取到這個私有屬性了。但在方法裡,就不能再用this.了,像上面的例子,要訪問price,就可以在物件裡加入方法:



複製程式碼
程式碼如下:this.getPrice = function() {//return price here!        --return price here!       
--return price -------------------------------------------------- ------------------------



繼承:


使用下列語法繼承:


複製程式碼

代碼如下:ElectricCar.prototype = new Car();使用instanceOf檢查物件是否某物件的繼承,傳回true或false。


複製程式碼


程式碼如下:複製程式碼


程式碼如下:


/// 使用構造函數定義一個新的對象
function ElectricCar( listedPrice ) {    this.electricity=100;    var price = listedPrice;} // 使新物件繼承CarElectricCar.prototype = new Car();
// 為新物件加入方法
ElectricCar.prototype.refuel = function(numHours) {
    this.electricity = 5*numHours;
};

當我們繼承原型物件後,我們會繼承原型的值和方法。但有的時候,我們的物件值或方法可能會不同,這時候,我們可以透過重寫原型物件的值和方法來改變新物件的內容



複製程式碼


程式碼如下:


function Car(列出的價格) {
   var Price =列出的價格;
   this.speed = 0;
   this.numWheels = 4;

   this.numWheels = 4;

this.getPrice = function( ) {
       退貨價格;   };

}

Car.prototype.accelerate = function() {

   this.speed = 10;

};

function ElectricCar(listedPrice) {
   var Price =列出的Price;
   this.electricity = 100;

}

ElectricCar.prototype = 100;
}
ElectricCar.prototype = new Car()//重寫accelerate方法
ElectricCar.prototype.accelerate = function() {
  this.speed = 20; 
};

//新增方法decelerateElectricCar.protype. function(secondsStepped) {

    this.speed -= 5*secondsStepped;

};


myElectricCar = 新 ElectricCar(500);

myElectricCar.accelerate();
console.log("myElectricCar.accelerate();

console.log("myElectricCar 有速度" myElectricCar.speed);
myElectricCar.decelerate(3);console.log("myElectmyCar.速度);
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板