0x00前言
今天寫吃豆人遊戲時看到的一些關於對象的操作,感覺和以前學的c++,java等語言有挺大的區別,記錄一下
0x01對象
爲了方便對比,這裏建立兩個簡單對象
js對象
var person = {
name : ['Bob', 'Smith'],
age : 32,
gender : 'male',
interests : ['music', 'skiing'],
};
c++對象
class person
{
person(void)
{
name[0]="Bob";
name[1]="Smith";
age=32;
gender="male"
interests[0]="music";
interests[1]="skiing";
}
public:
string name[2];
int age;
string gender;
string interests[2];
}
0x02不同之處
①可以看到,c++不能直接對對象成員進行賦值(在定義對象時),只能通過構造函數來進行初始化,而js可以直接對 對象成員進行賦值。
②c++對象使用的是點表示法,比如有個person對象person1,那麼person1.age就表示person的age成員,而js不僅使用點表示法,而且使用括號表示法。例如person[age]就表示age成員。
③js可以直接創建新的成員變量,例如person[eyes]='blue';