什么是对象
JS中的对象可以简单理解为“键值对”即 {名称: 值},不难联想 JavaScript 中的对象与下面这些概念类似:
- Python 中的字典
- Perl 和 Ruby 中的散列(哈希)
- C/C++ 中的散列表
- Java 中的 HashMap
- PHP 中的关联数组
这样的数据结构设计合理,能应付各类复杂需求,所以被各类编程语言广泛采用。正因为 JavaScript 中的一切(除了核心类型,core object)都是对象,所以 JavaScript 程序必然与大量的散列表查找操作有着千丝万缕的联系,而散列表擅长的正是高速查找。
“键”部分是一个 JavaScript 字符串,“值”部分可以是任何 JavaScript 的数据类型——包括对象。这使用户可以根据具体需求,创建出相当复杂的数据结构。
创建对象
有两种简单方法可以创建一个空对象:
var obj = new Object();
和:
var obj = {};
相比第一种而言,我们常常食用第二种方式来创建对象
例如:
var pepole = {
'name': 'Bob',
'age': '13',
'school': {
'name': '麻绳小学',
'class': '1年级3班'
}
};
如果我们需要获取这个人的学校班级信息我们可以:
pepole.school.class; // '1年级3班'
// 或者使用
pepole['school']['class']; // '1年级3班'
// 的链式方式取出
当然我们也可以创建对象原型
function Pep (name, age) {
this.name = name;
this.age = age;
this.showMsg = function () {
console.log(this.name,this.age);
}
}
然后实例化
let bob = new Pep('Bob', 13);
// 执行showMsg方法就可以查看信息
bob.showMsg(); // 'Bob' 13