JavaScript 对象

javascript 对象

对象是一种特殊的变量,它可以包含很多值。

这段代码把多个值(porsche, 911, white)赋给名为 car 的变量:

var car = {type:"porsche", model:"911", color:"white"};

值以名称:值对的方式来书写(名称和值由冒号分隔)。

javascript 对象是被命名值的容器。

 

1. 对象属性

javascript 对象中的 名称:值 被称为属性。

var person = {firstname:"bill", lastname:"gates", age:62, eyecolor:"blue"};
属性 属性值
firstname bill
lastname gates
age 62
eyecolor blue

 

2. 对象方法

对象也可以有方法。

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

方法以函数定义被存储在属性中。

属性 属性值
firstname bill
lastname gates
age 62
eyecolor blue
fullname function() {return this.firstname + " " + this.lastname;}

方法是作为属性来存储的函数。

范例

var person = {
  firstname: "bill",
  lastname : "gates",
  id       : 678,
  fullname : function() {
    return this.firstname + " " + this.lastname;
  }
};

 

3. this 关键词

在函数定义中,this 引用该函数的“拥有者”。

在上面的例子中,this 指的是“拥有” fullname 函数的 person 对象。

换言之,this.firstname 的意思是 this 对象的 firstname 属性。

 

4. 对象定义

我们定义(创建)了一个 javascript 对象:

范例

var person = {firstname:"bill", lastname:"gates", age:62, eyecolor:"blue"};

空格和折行都是允许的。对象定义可横跨多行:

范例

var person = {
    firstname:"bill",
    lastname:"gates",
    age:50,
    eyecolor:"blue"
};

 

5. 访问对象属性

您能够以两种方式访问属性:

objectname.propertyname

或者

objectname["propertyname"]

例子 1

person.lastname;

例子 2

person["lastname"];

 

6. 访问对象方法

您能够通过如下语法访问对象方法:

objectname.methodname()

范例

name = person.fullname();

如果您不使用 () 访问 fullname 方法,则将返回函数定义:

范例

name = person.fullname;

方法实际上是以属性值的形式存储的函数定义。

 

7. 不要把字符串、数值和布尔值声明为对象

如果通过关键词 "new" 来声明 javascript 变量,则该变量会被创建为对象:

var x = new string();        // 把 x 声明为 string 对象
var y = new number();        // 把 y 声明为 number 对象
var z = new boolean();       //	把 z 声明为 boolean 对象

请避免字符串、数值或逻辑对象。他们会增加代码的复杂性并降低执行速度。

下一节:js 事件

js 教程

相关文章