JavaScript 提供多个内建对象,比如 String、Date、Array 等等。对象只是带有属性和方法的特殊数据类型。布尔型、数字型、字符串、日期、数组、数学和正则表达式甚至是函数都是一个对象。对象拥有属性和方法
访问对象的属性
访问对象属性的语法是:
objectName.propertyName
例:使用了 String 对象的 toUpperCase() 方法来将文本转换为大写:
var message="Hello World!";
var x=message.length;
12
访问对象的方法
方法是能够在对象上执行的动作。
调用方法语法
objectName.methodName()
例使用了String 对象的 toUpperCase() 方法来将文本转换为大写:
var message="Hello world!";
var x=message.toUpperCase();
代码执行后,x 的值是:
HELLO WORLD!
JavaScript对象的创建
创建直接的实例–new object
person=new Object();
person.firstname="John";
person.lastname="Doe";
……
或替代法(使用对象 literals)–object={……}
person={firstname:"John",lastname:"Doe",age:50,eyecolor:"blue"};
使用对象构造器–函数构造对象
function person(firstname,lastname,……)
{
this.firstname=firstname;
this.lastname=lastname;
……
}
this通常指向正在执行的函数本身,或是指向该函数所属的对象(运行时)
最后来一个创建实例:
var myFather=new person("John","Doe",50,"blue");
把属性添加到 JavaScript:
向已有对象添加新属性:
假设 personObj 已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:
person.firstname="John";
person.lastname="Doe";
person.age=30;
person.eyecolor="blue";
把方法添加到 JavaScript 对象
方法是附加在对象上的函数。
在构造器函数内
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.lastname=name;
}
}
changeName() 函数 name 的值赋给 person 的 lastname 属性。
myMother.changeName("Doe");
JavaScript不使用类
对象遍历
语法
for (variable in object)
{
执行的代码……
}
注意: for…in 循环中的代码块将针对每个属性执行一次。
循环遍历对象的属性实例:
var person={fname:"John",lname:"Doe",age:25};
for (x in person)
{
txt=txt + person[x];
}