js中对象与c++的不同的地方

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章