1、万物皆对象
在编程中,万物皆对象。我们在编程中,使用对象来描述万事万物。怎么描述呢?什么事物,只要描述了其特征和行为就可以知道在描述什么。
举个例子,我们猜个谜语:
什么东西,小时候是黑色的,长大是绿色的,小时候在水里游,长大了在岸上跳。
基本都可以猜到,我们描述的是青蛙。
其中,颜色是青蛙的特征,在水里游和在岸上跳是行为。
我们在编程中,也是使用特征和行为描述任何事物。
使用属性描述事物的特征,使用方法来描述行为, 就是对象这种语法。
所以:对象就是属性和方法的集合
2、对象有什么用
我们之前学习过的对象:Math、Date
我们发现,只要学习对象的一些属性和方法,直接使用,就可以得到自己想要的效果。
例如-得到随机数:Math.random()
我们不需要关心随机数到底是怎么产生的,只要结果——不关心过程,只关心结果
就好像我们获取当前日期:
// 新找到一个日期对象,就好像我们找到一个厨师
var date = new Date();
// 调用日期对象的获取年份的方法
date.getFullYear();
所以对象的好处在于:我们只要知道对象有什么属性和方法,不需要知道对象里面是如何实现的。我们实现一个效果的过程将大缩短,实现高效开发。
3、创建对象
字面量创建对象:
var obj = {}; // 这是一个空对象,什么内容都没有
console.log(obj);
使用Object内置对象创建对象:
var obj = new Object(); // 这是一个没有属性和方法的对象
console.log(obj);
4、为对象添加值
对象的值(对象成员)有两类:
- 属性(变量,一般表示对象的静态属性)
- 方法(函数,一般表示对象的动态行为)
添加属性的语法:对象.属性 = 值;
添加方法的语法:对象.方法名 = function(){}
var obj = {};
obj.name = '阿伟';// 名字是一个人的特征
obj.sayName = function(){ // 人会说出自己的名字,也就是人有自己的行为
console.log('你好,我叫阿伟');
}
字面量初始化对象:
// 描述一个学生
var student = {
name : '阿伟',
age : 12,
gender : '男',
sayName : function(){
console.log(student.name);
}
}
// 属性和值之间使用分号分隔,一个属性和一个值叫一个键值对。多个键值之间使用逗号分隔