创建 JavaScript 对象
JavaScript 中的几乎所有事务都是对象:字符串、数字、数组、日期、函数,等等。
你也可以创建自己的对象。
本例创建名为 "person" 的对象,并为其添加了四个属性:
实例
person=new Object(); person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue";
更快捷的方法创建:
person={ firstname:"John", lastname:"Doe", age:50,eyecolor:"blue" };
// !!!这种方法可以这样访问对象属性: person[x]
使用对象构造器来创建:
实例
function person(firstname,lastname,age,eyecolor) //使用构造器来出创建自定义对象 { this.firstname=firstname; //添加属性 this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }
一旦您有了对象构造器,就可以创建新的对象实例,就像这样:(之前的那种不行的哦!!)
var myFather=new person("Bill","Gates",56,"blue"); var myMother=new person("Steve","Jobs",48,"green");
访问对象的属性
访问对象属性的语法是:
objectName.propertyName
把属性添加到 JavaScript 对象
您可以通过为对象赋值,向已有对象添加新属性: (即 你的对象里面的属性值 是可以更改的! )
假设 personObj 已存在 - 您可以为其添加这些新属性:firstname、lastname、age 以及 eyecolor:
person.firstname="Bill"; person.lastname="Gates"; person.age=56; person.eyecolor="blue"; x=person.firstname;
在以上代码执行后,x 的值将是:
Bill
把方法添加到 JavaScript 对象
方法只不过是附加在对象上的函数。
在构造器函数内部定义对象的方法:
/*用构造器模式自定义js对象*/
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;
}
}
/*测试*/
var hgy = new person("1","2","3","4");
alert(hgy.lastname);
hgy.changeName("a");
alert(hgy.lastname);
JavaScript 类
JavaScript 是面向对象的语言,但 JavaScript 不使用类。
在 JavaScript 中,不会创建类,也不会通过类来创建对象(就像在其他面向对象的语言中那样)。
JavaScript 基于 prototype,而不是基于类的。
JavaScript for...in 循环
JavaScript for...in 语句循环遍历对象的属性。
语法
for (对象中的变量) { 要执行的代码 }
注释:for...in 循环中的代码块将针对每个属性执行一次。
实例
循环遍历对象的属性:
var person={
fname:"Bill",
lname:"Gates",
age:56
}; for (x in person) { txt=txt + person[x]; //它的x是从0开始递增的数 }
自定义对象 存在一种工厂模式 这里就不介绍了 用的最多个人感觉还是构造器模式