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';