什么是对象
现实生活中:万物皆对象,对象是一个具体的事物,看得见摸得着的实物。例如:一本书、一辆汽车、一个人可以是“对象”,一个数据库、一张网页、一个与远程服务器的连接也可以是“对象”
在 JavaScript中,对象是一组无序的相关属性和方法的集合,所有的事物都是对象,例如字符串、数值、数组函数等。
对象是由: 属性 和 方法组成的
- 属性: 事物的特征,在对象中用属性来表示(常用名词)
- 方法: 事物的行为,在对象中用方法来表示(常用动词)
创建对象的三种方式
在JavaScript 中,现阶段我们可以采取三种方式创建对象(object)
- 利用字面量创建对象
- 利用new Object创建对象
- 利用构造函数创建对象
// 利用字面量创建一个对象
// 1、创建空对象
var obj = {}
var obj = {
name:'xiaoming',
sex:'nan',
age:18,
doSome : function () {
console.log('干饭');
}
};
// 获取对象里面值 利用的 对象名. 属性名
// 1)里面的属性或者方法我们采取键值对的形式 键 属性名 : 值 属性值
// 2)多个属性和方法中间有英文逗号隔开
// 3)方法冒号的后面是匿名函数
// 2、使用对象
// 1)调用对象的属性 我们是利用 对象名.属性名
console.log(obj.name);
console.log(obj['name']);
// 2)调用属性还有一种方法 对象名['属性名']
console.log(obj['sex']);
// 3) 调用对象的方法 doSome 对象名.方法名 千万不要忘记添加小括号 哦!!!
obj.doSome();
// 利用 new Object 创建对象
var obj = new Object(); // 创建了一个空对象
obj.name = '小明';
obj.age = 18;
obj.sex = '男';
obj.doSome = function () {
console.log('halou');
}
// 1)我们是利用 等号(=) 赋值的方式 添加对象的属性和方法
// 2)每个属性和方法之间用 英文 分号结束
// 2、使用 代码验证
console.log(obj.name);
console.log(obj.age);
console.log(obj['sex']);
obj.doSome();
// function 构造函数名() {
// this.属性名 = 值;
// this.方法 = function () {
// }
// }
// new 构造函数名();
function Star(name,sex,age,profession) {
this.name = name;
this.sex = sex;
this.age = age;
this.profession = profession;
this.sing = function (sang) {
console.log(sang);
}
}
var ldh = new Star('刘德华','男',56,'歌手');
var zxy = new Star('张学友','男',59,'歌手');
var hh = new Star('华晨宇','男',30,'歌手');
console.log(ldh.name);
console.log(ldh['sex']);
console.log(ldh.age);
console.log(ldh.profession);
ldh.sing('冰雨');
console.log(zxy.name);
console.log(zxy['sex']);
console.log(zxy.age);
console.log(zxy.profession);
zxy.sing('一千个伤心的理由');
console.log(hh.name);
console.log(hh['sex']);
console.log(hh.age);
console.log(hh.profession);
hh.sing('烟火里的尘埃');
// 1、构造函数名字首字母要大写
// 2、构造函数不需要 return 就可以返回结果
// 3、我们调用构造函数 必须使用 new
// 4、我们主要 new Star() 调用函数就是创建一个对象
// 5、我们属性和方法前面必须 添加 this