对象的概念
-
对象是一组**无序的相关属性和方法**的集合(可以存放任意类型的元素),所有的事物都是对象,例如字符串、数值、数组、函数等。
-
对象是由属性和方法组成的
- 属性:事物的特征,在对象中用属性来表示(常用名词)
- 方法:事物的行为,在对象中用方法来表示(常用动词)
注意:一个对象中属性和方法并不是都具有的,看具体情况来设置一个对象中的内容
- 对象中的变量,称之为属性
- 对象中的函数,称之为方法
e.g
var obj = {
"name":"张三",
"sex":"男",
"age":128,
"height":154
}
为了让更好地存储一组数据,就可以用到对象。对象中为每项数据设置了属性名称,可以访问数据更语义化,数据结构清晰,表意明显,方便开发者使用。
创建对象的三种方式🔥
① 利用字面量创建
var star = { // star即是创建的对象。
name : '张三', //属性,对象的特征,一般是名词
age : 18, //属性
sex : '男', //属性
sayHi : function(){ //方法,对象的行为,一般是动词
alert('Hi~~');
}
};
//多个属性用逗号隔开
//方法后面是一个匿名函数
-
key - 键:相当于属性名
-
value - 值:相当于属性值,可以是任意类型的值(数字类型、字符串类型、布尔类型,函数类型等)在对象中的方法,也可以理解为是一个属性,可以称之为方法属性
-
对象里面的数据, 可以简称为键值对. key value===>键值对
对象的访问和调用
访问对象的属性
- 点语法:对象.属性
console.log(star.name)
- 中括号语法:对象['属性']
console.log(star['name'])//star[name],先找name变量的值:'age',star['age']---- 18
调用对象的方法
- 点语法:对象.方法名()
star.sayHi(); // 调用方法,注意,一定不要忘记带后面的括号
- 中括号语法:对象['属性']
star['sayHi']();
② 利用new Object 创建新对象
var obj = new Object( ) //创建一个空对象 var obj = {}
obj.name = '张三丰'
obj.age = 128
obj.sex = '男'
obj.dataiji = function () {
console.log('打太极');
}
注意:
- Object() :第一个字母大写
- new Object() :需要 new 关键字
- 使用的格式:对象.属性 = 值;
③利用构造函数创建对象
function 构造函数名(形参1,形参2,形参3) { // 构造函数的形参与对象的普通属性是一致的
this.属性名1 = 形参1; //形参就是要给属性赋值
this.属性名2 = 形参2;
this.属性名3 = 形参3;
this.方法名 = function(){
};
}
function star(name, age, sex) {
this.name = name
this.age = age
this.sex = sex
this.sing = function () {
console.log('唱歌');
}
}
var ldh = new star('刘德华', 45, '男')
console.log(ldh);
console.log(ldh.name);
console.log(ldh['age']);
//调用方法
ldh.sing()
var zxy = new star('张学友', 50, '男')
console.log(zxy);
//调用方法
// 1. 构造函数名字首字母要大写
// 2. 构造函数不需要return 就可以返回结果
// 3. 我们调用构造函数 必须使用 new
// 4. 我们只要new Star() 调用函数就创建一个对象
// 5. 构造函数里 属性和方法前面必须添加 this
通过构造函数创建对象的过程,也叫做对象的实例化!!!!!