什么是对象
现实生活中:万物皆对象,对象是一个具体的事物,一个具体的事物就会有特征和行为。
如:一辆车,一个人,一只狗他们都是对象!!
车的特征: 颜色、重量。 车行为有:启动、刹车、前进、后退。
人的特征: 身高、年龄、体重、姓名、肤色。 行为有: 说话、跑步、跳跃、打架、打游戏,敲代码。
狗的属性:颜色、名字。 行为有:摇尾巴、汪汪叫等
在编程的世界中,特征叫做属性,行为叫做方法
为什么需要对象
如果使用基本数据类型的数据,我们所创建的变量都是独立的,值和值之间没有任何的关联,不能成为一个整体。
而对象是属于一种复合的数据类型,在对象中可以保存多个不同类型的数据。
在以后的开发中,我们很多情况都需要有一些关联性的数据整合在一起,这样便于系统的协调工作
这就是对象存在的意义。
如,用JS变量来表示一个人的信息
var name = "大锤";
var sex = "男";
var age = 28;
var action = function(){
console.log('会吃饭睡觉')
}
上面的变量都是独立的,没有任何关联,不能成为一个整体。
JS对象分类
- 内置对象
- 由ES标准中定义的对象,任何JS引擎实现此标准的都可以使用
- 比如: String、Number、Math、Boolean、Function、Array、Object。
var arr = [] 或 new Array() arr.push()
var str = 'abc'; new String('abc')
var func = function(){} 或 new Function()
- 宿主对象
- 有JS所在运行环境提供的对象,如浏览器环境
- 比如: DOM、BOM对象
- 自定义对象
- 开发人员自己创建的对象
创建对象
常用的两种形式:
- 字面量形式[强烈推荐]
- 构造函数形式 (new 操作)
如创建一个对象,有属性name和方法hobby
// 字面量形式 【推荐,开发中使用最多】
// 对象就是由一组键值(key-value)对组成的
var obj = {
// 属性名(key):属性值(value)(方法)
name: '科比',
age: 30,
hobby: function () {
console.log('科比打球')
}
}
// 构造函数形式
var obj = new Object();
obj.name = '欧文';
obj.age =