javascript中對象的不同創建方法

javascript中對象的不同創建方法

javascript中的對象與一般的面向對象的程序設計語言(c++,Java等)不同,甚至很少有人說它是面向對象的程序設計語言,因為它沒有類。javaScript隻有對象,不是類的實例。javascript中的對象是基於原型的。

1.1句點運算符創建

  javascript中的對象實際上就是一個由屬性組成的關聯數組,屬性由名稱和值組成,值的類型可以是任何數據類型,或者函數和其他對象。

  創建一個簡單對象:

var foo = {};
foo.prop_1 = 'bar';
foo.prop_2 = false;
foo.prop_3 = function() {
      return 'hello world';        
}
console.log(foo.prop_3());

  通過引用賦值給foo,{}是對象字面量的表示方法,var foo={}也可以通過var foo = new Object()來顯示地創建一個對象。

1.2 使用關聯數組創建對象。

  

var foo = {};
foo['prop_1'] = 'bar';
foo['prop_2'] = false;
foo['prop_3'] = function() {
      return 'hello world';        
}

  javascript中使用句點運算符和關聯數組引用是等價的。使用關聯數組的好處是在我們不知道對象的屬性名稱的時候可以用變量來作為關聯數組的索引。例如:

var some_prop = 'prop_2';
foo[some_prop] = false;

1.3使用對象初始化器創建對象

  一般我們在使用的時候回采用下面這種方法創建對象:

var foo = {
    prop1:'bar',
    prop2:false,
    prop3:function(){
        return 'hello world';
    }
};

  這種定義的方法稱為對象得出初始化器

1.4 通過構造函數創建對象。

  前面創建的對象都是一次性的。如果我們想創建多個規劃好的對象,有若幹個固定的屬性、方法並且能夠初始化。我們可以通過構造函數來創建復雜的對象:

function User(name,uri){
    this.name = name;
    this.uri = uri;
    this.display = function() {
        console.log(this.name);
    }
}

  然後可以用new語句創建對象。

var someuser = new User('byvoid','https://www.byvoid.com');

  然後就可以通過someuser來訪問這個對象的屬性和方法。

發佈留言