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

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