JavaScript对象
JavaScript 中的所有事物都是对象:字符串、数字、数组、日期,等等。
在 JavaScript 中,对象是拥有属性和方法的数据。
属性和方法
属性是与对象相关的值
方法是能够在对象上执行的动作
1 创建JavaScript对象:有两种方法创建JavaScript对象
(1)使用Object类定义并创建对象的实例
如:perso = new Object();
对象创建完成后,可以为其添加属性
如:person.id=1;
person.name="Jack";
也可以同构替代语法
如:person={id:1,name:Jack};
(2)使用对象构造器创建对象
function person(_id,_name)
{
this.id = _id;
this.name=_name;
}
有了对象构造器,就可以创建新的对象实例,
如:var Boss = new person(1,"Lily");
var Chief = new Person(2,"Rose");
此外,使用Object对象或对象构造器创建的实例,即便是对象中没有的属性,也可以再添加新的属性
方法是附加在对象上的函数,在构造器中添加函数的方法:
this.changename=changename;
function changename(_name)
{
this.fisrtname = _name;
}
下面用一个例子来说明:
<!DOCTYPE html>
<html>
<body>
<script>
var student = new Object();
student.name="Tim";
student.age=18;
student.grade=6;
document.write(student.name + " is " + student.age + " years old, Grade "+student.grade+".<br>");
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
this.changename=changename;
function changename(_name)
{
this.firstname=_name;
}
this.changeage = changeage;
function changeage(_age)
{
this.age=_age;
}
}
p1=new person("Bill","Gates",56,"blue");
document.write(p1.firstname + " is " + p1.age + " years old."+p1.address+"<br>");
p1.address = "Home";
p1.changename("Will");
p1.changeage(28);
document.write(p1.firstname + " is " + p1.age + " years old."+p1.address);
</script>
</body>
</html>
输出结果:
Tim is 18 years old, Grade 6.
Bill is 56 years old.undefined
Will is 28 years old.Home