什么是对象

JS中的对象可以简单理解为“键值对”即 {名称: 值},不难联想 JavaScript 中的对象与下面这些概念类似:

  • Python 中的字典
  • Perl 和 Ruby 中的散列(哈希)
  • C/C++ 中的散列表
  • Java 中的 HashMap
  • PHP 中的关联数组

这样的数据结构设计合理,能应付各类复杂需求,所以被各类编程语言广泛采用。正因为 JavaScript 中的一切(除了核心类型,core object)都是对象,所以 JavaScript 程序必然与大量的散列表查找操作有着千丝万缕的联系,而散列表擅长的正是高速查找。

“键”部分是一个 JavaScript 字符串,“值”部分可以是任何 JavaScript 的数据类型——包括对象。这使用户可以根据具体需求,创建出相当复杂的数据结构。

创建对象

有两种简单方法可以创建一个空对象:

  1. var obj = new Object();

和:

  1. var obj = {};

相比第一种而言,我们常常食用第二种方式来创建对象
例如:

  1. var pepole = {
  2. 'name': 'Bob',
  3. 'age': '13',
  4. 'school': {
  5. 'name': '麻绳小学',
  6. 'class': '1年级3班'
  7. }
  8. };

如果我们需要获取这个人的学校班级信息我们可以:

  1. pepole.school.class; // '1年级3班'
  2. // 或者使用
  3. pepole['school']['class']; // '1年级3班'
  4. // 的链式方式取出

当然我们也可以创建对象原型

  1. function Pep (name, age) {
  2. this.name = name;
  3. this.age = age;
  4. this.showMsg = function () {
  5. console.log(this.name,this.age);
  6. }
  7. }

然后实例化

  1. let bob = new Pep('Bob', 13);
  2. // 执行showMsg方法就可以查看信息
  3. bob.showMsg(); // 'Bob' 13