天天看點

我的Javascript學習-------基礎篇(八)(關于對象的學習)

文章目錄

  • ​​對象​​
  • ​​what is 對象?​​
  • ​​how to create 對象?​​
  • ​​第一種​​
  • ​​利用 new Object 建立對象​​
  • ​​利用構造函數建立對象​​
  • ​​周遊對象​​

對象

what is 對象?

  • 在 JavaScript 中,對象是一組無序的相關屬性和方法的集合,所有的事物都是對象,例如字元串、數值、數組、函數等。
  • 對象是由屬性和方法組成的。

how to create 對象?

第一種

給個簡單例子:

var person = {
        name : 'hgg',
        age : 20,
        sing : function(){
            alert('我是DJDJDJDJD~');
        }
    };      

上述代碼中person即是建立的對象。

  • 通路對象的屬性
  • 對象裡面的屬性調用 : 對象.屬性名
  • 對象裡面屬性的另一種調用方式 : 對象[‘屬性名’]
.log(person.name)     // 調用名字屬性
      console.log(person['name'])  // 調用名字屬性      
  • 調用對象的方法
  • 對象裡面的方法調用:對象.方法名() ,注意這個方法名字後面一定加括号
.sing();      
  • 變量、屬性、函數、方法的小總結

屬性是對象的一部分,但是變量不是對象的一部分(敲黑闆),變量是單獨存儲資料的容器

方法是對象的一部分,但是函數不是對象的一部分(敲黑闆),函數是單獨封裝操作的容器

利用 new Object 建立對象

  • 建立空對象
var ps = new Obect();      

通過内置構造函數Object建立對象,此時ps變量已經儲存了建立出來的空對象

  • 給空對象添加屬性和方法
  • 通過對象操作屬性和方法的方式,來為對象增加屬性和方法

    示例代碼如下:

ps.name = 'pink';
ps.age = 18;
ps.say = function(){
    alert('DJDJDJD~');
}      

利用構造函數建立對象

  • 構造函數的封裝格式:
function 構造函數名(形參1,形參2,形參3) {
           this.屬性名1 = 參數1;
           this.屬性名2 = 參數2;
           this.屬性名3 = 參數3;
           this.方法名 = 函數體;
      }      
  • 構造函數的調用格式
var obj = new 構造函數名(實參1,實參2,實參3)      

給個示例:

function Person(uname, age) {
     this.name = uname;
     this.age = age;
     this.sing = function(sang) {
         console.log(sang);
  }
}
var xgg = new Person('小哥哥', 20, '男');      

關于這個過程的總結:

  • 以上代碼中,obj即接收到構造函數建立出來的對象。
  • new 構造函數可以在記憶體中建立了一個空的對象
  • this 就會指向剛才建立的空對象
  • 執行構造函數裡面的代碼 給這個空對象添加屬性和方法
  • 傳回這個對象
  • 敲黑闆!!! 構造函數約定首字母大寫,不過你不這樣也行,但是規定嘛,還是要遵守滴對吧!!!

周遊對象

for (變量 in 對象名字) {
      // 在此執行代碼
  }      
for (var i in xgg) {
      console.log(i);      // 這裡的 i 是屬性名
      console.log(xgg[i]); // 這裡的 obj[i] 是屬性值
  }      

繼續閱讀