自定义对象
首先要介绍一下对象的定义和作用:
对象其实就是一组无序属性的集合,对象是由属性和方法组成的,事物特有的特征叫属性,事物拥有的行为叫方法
对象可以帮助我们封装一些数据,方便我们在程序中传输或者控制
程序中常见的对象主要有三种:Math Array function,现实生活中其实万物皆对象
程序中除了三种主要的对象,我们就需要自定义一些对象,然后拿来传输,使用
我们可以通过构造函数来创建自定义对象
可以通过实例来帮助了解
var shudent=new Object(); -------------创建一个放置学生信息的对象
student.name="赵四"; -----------属性
student.sex="男"; -----------属性
student.sayHi=function(){ -----------方法
console.log("我叫"+student.name+"性别"+student.sex);
}
};
console.log("student.name");
console.log("student.sex");
student.sayHi(); -----------对象名.方法名();
批量创建对象,借助函数能创造更多对象
function creatStudent(name,sex){
var shudent=new Object();
student.name=name;
student.sex=sex;
student.sayHi=function(){
console.log("我叫"+student.name+"性别"+student.sex);
}
return student;
};
var a= creatStudent(赵四,男);
a.sayHi();
var b= creatStudent(张三,男);
b.sayHi();
。。。
理解以上步骤后,现在可以更简化
function Student(name,sex){ -----------构造函数来创建对象
this.name=name; -----------this指代当前创建出来的属性
this.sex=sex;
this.sayHi=function(){
console.log("我叫"+this.name+"性别"+this.sex);
}
};
var a=new Student(赵四,男);
a.sayHi();
var b=new Student(张三,男);
b.sayHi(); ------------谁调用,this就指代谁,始终指向当前对象
用new关键字来完成,
1创建一个空对象 2将关键字this指向这个空对象 3执行构造函数里面的代码,给当前对象this设置属性和方法
4将this这个当前对象返回
字面量对象
var o={
name:"赵四",
sex:"男",
age:20,
sayHi=function(){
console.log("我叫"+o.name+"性别"+o.sex+"年龄"+o.age);
}
}
console.log(o.name);
o.sayHi();
还有另外一种表达输出方式
var o={
name:"赵四",
sex:"男",
age:20,
sayHi=function(){
console.log("我叫"+o["name"]+"性别"+o["sex"]+"年龄"+o["age"]);
}
}
console.log(o["name"]);
o["sayHi"]();