總結來看,對象有如下幾個特點。
1.
對象具有唯一標識性:即使完全相同的兩個對象,也並非同一個對象。
2.
對象有狀態:對象具有狀態,同一對象可能處於不同狀態之下。
3.
對象具有行爲:即對象的狀態,可能因爲它的行爲產生變遷。
1、 對象具有唯一標示性。一般而言,各種語言的對象唯一標示性都是用內存地址,任何不同的JavaScript對象其實是互不相等的
Var 01 = {a: 1};
Var 02 = { a : 1};
Console.log(01 == 02) // false
2.關於對象的第二個和第三個特徵“狀態和行爲”,不同語言會使用不同的術語來抽象描述它們,比如C++中稱它們爲“成員變量”和“成員函數”,Java中則稱它們爲“屬性”和“方法”。JavaScript中的行爲和狀態都能用屬性來抽象。
O是對象,d是一個屬性,而函數f也是一個屬性,儘管寫法不太相同,但是對JavaScript來說,d和f就是兩個普通屬性。
Var o = {
d : 1;
f(){
console.log(this.d);
}
};
在實現了對象基本特徵的基礎上,我認爲,JavaScript中對象獨有的特色是:對象具有高度的動態性,這是因爲JavaScript賦予了使用者在運行時爲對象添改狀態和行爲的能力。