文章目錄
- 對象
- 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] 是屬性值
}