JavaScript 对象

 

JavaScript 提供多个内建对象,比如 String、Date、Array 等等。

对象只是带有属性方法的特殊数据类型。

访问对象的属性

属性是与对象相关的值。

访问对象属性的语法是:

objectName.propertyName

访问对象的方法

方法是能够在对象上执行的动作。

创建 JavaScript 对象

通过 JavaScript,您能够定义并创建自己的对象。

创建新对象有两种不同的方法:

  1. 定义并创建对象的实例
  2. 使用函数来定义对象,然后创建新的对象实例

创建直接的实例

这个例子创建了对象的一个新实例,并向其添加了四个属性:

实例

 

1.
<script>
person={firstname:"Bill",lastname:"gates",age:56,eyecolor:"blue"}

document.write(person.firstname + " is " + person.age + " years old.");
</script>

2.

<script>
person=new Object();
person.firstname="Bill";
person.lastname="Gates";
person.age=56;
person.eyecolor="blue";
document.write(person.firstname + " is " + person.age + " years old.");
</script>

使用对象构造器

本例使用函数来构造对象:

实例

1.
function person(firstname,lastname,age,eyecolor) { this.firstname=firstname; this.lastname=lastname; this.age=age; this.eyecolor=eyecolor; }

2.
<script>
function person(firstname,lastname,age,eyecolor)
{
this.firstname=firstname;
this.lastname=lastname;
this.age=age;
this.eyecolor=eyecolor;
}

myFather=new person("Bill","Gates",56,"blue");

document.write(myFather.firstname + " is " + myFather.age + " years old.");
</script>

把方法添加到 JavaScript 对象


方法只不过是附加在对象上的函数。


把方法添加到 JavaScript 对象


方法只不过是附加在对象上的函数。


在构造器函数内部定义对象的方法:



<script>
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;
}
}
myMother=new person("Steve","Jobs",56,"green");
myMother.changeName("Ballmer");
document.write(myMother.lastname);
</script>

changeName() 函数 name 的值赋给 person 的 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];
  }
 
 
posted @ 2017-11-29 17:27  代码,让世界更美好!  阅读(176)  评论(0编辑  收藏  举报