目录
对象是一组无序的相关属性和方法的集合
创建对象的三种方式
字面量创建
var stu = {
name: '小明',
age: 12,
study: function() {
console.log('在学习');
}
}
1.对象里面存储方式采取键值对的方式,键 属性名 :值 属性值。
2.多个属性或者方法之间是用逗号隔开的。
3.使用对象里面的属性有两种方法
对象.属性名 和对象.['属性名'],第二种方法一定要加引号。
console.log(stu.name);
console.log(stu['age']);
4.调用对象的方法
对象.方法()
stu.study();
利用new Object()创建对象
利用等号赋值的方法添加对象的属性和方法。
每个属性和方法之间用分号隔开。
var obj = new Object();
obj.name = '小红';
obj.age = 13;
obj.study = function() {
console.log("小红在学习");
}
obj.study();
利用构造函数创建对象
前面两种方式一次只能创建一次对象,需要很多代码,麻烦。我们可以利用函数的方法,重负相同的代码,封装这些对象,就是把对象里面相同的属性和方法抽象出来,封装到函数里面。
1.构造函数名首字母大写,相当于java中的类名。
2.构造函数里面一定要写this,要不然多个对象指向就乱了,分不清谁是谁了。
3.创建对象要加new 构造函数名()
function Star(name, age, sex) {
this.name = name;
this.age = age;
this.sex = sex;
this.print = function(write) {
console.log(write);
}
}
var obj1 = new Star('小红', 24, '女', '写字');
var obj2 = new Star('小明',12,'男');
obj1.print('写');
console.log(obj1);
遍历对象和方法
for(变量 in 对象){}
k是变量,如果遍历k得到的是属性名,stu[k]得到的是属性值。里面不需要1加引号,因为k是一个变量。
var stu = {
name: '小明',
age: 12,
study: function() {
console.log('在学习');
}
}
for(k in stu){
console.log(k);
}
for (k in stu) {
console.log(stu[k]);
}
变量属性的区别
变量单独声明并赋值,使用的时候直接写变量名,单独存在
属性是在对象里面的,不需要声明,但是使用的时候必须对象.属性
函数和方法的区别
在外面的叫函数,在对象里面的叫方法,共同点都是实现某种功能做某件事
函数是单独声明,调用时直接函数名()单独存在
方法在对象里面,调用的时候对象.方法()。