编辑这个页面须要登录或更高权限!

JavaScript 对象(Object)

理解JavaScript对象

JavaScript中的对象是一种数据类型,由名称的集合组成,以名称:值对表示。

name:value对可以包含可以包含任何数据类型的属性(包括字符串,数字和布尔值)以及方法,这些方法是对象中包含的函数。

JavaScript中的对象是独立的实体,可以与现实生活中的对象进行比对。

例如,汽车具有名称和颜色等属性以及诸如start(启动)和stop(停止)之类的方法的对象:

对象属性方法

car.name =天蝎座
car.model = 600
car.color =红色
car.horsePower = 103KW

car.start()
car.drive()
car.brake()
car.stop()

所有汽车都具有相同的属性,但是每个汽车的属性值都不同。

所有汽车都有相同的方法,但是这些方法可以具有不同的功能

创建一个对象

对象是JavaScript数据类型,就像数字或字符串也是数据类型一样。作为数据类型,对象可以包含在变量中。

使用JavaScript构造对象有多种方法:

  • 使用对象常量,它使用大括号:{}

  • 使用对象构造函数,它使用new Object()

  • 或者,您可以先创建一个构造函数,然后示例化一个调用该函数的对象

在此示例中,我们将使用 对象字面量(object literal)。什么是字面量?用来为变量赋值时的常数量称为字面量

var user = {firstName:"Vishal", lastName:"Choudhary", age:22, location:"New Delhi"};
测试看看‹/›

一个对象定义可以跨越多行。

var user = {
  firstName: "Vishal",
  lastName: "Choudhary",
  age: 22,
  location: "New Delhi"
};
测试看看‹/›

在本教程的后面,我们将讨论对象构造函数构造函数

对象属性

属性是对象中名称和值之间的关联,并且可以包含任何数据类型。

属性通常是指对象的特征。

属性属性值
firstName维沙尔
lastName乔达里
age22
location新德里

访问对象属性

有两种访问对象属性的方法:

  • 点表示法: .

  • 括号符号: []

让我们重新访问原始示例对象user

user.firstName;
测试看看‹/›
user["firstName"];
测试看看‹/›

点号和括号都经常使用。但是,点表示法更快,更易读。

对象方法

方法是作为对象属性值的函数,因此是对象可以执行的任务。

方法存储在属性中作为函数定义

属性属性值
firstName维沙尔
lastName乔达里
age22
location新德里
getNamefunction() {return this.firstName + " " + this.lastName;}
  var user = {
  firstName: "Vishal",
  lastName : "Choudhary",
  age  : 22,
  location : "New Delhi",
  getName  : function() {
   return this.firstName + " " + this.lastName;
  }
  };

注意:方法是作为属性存储的函数。

访问对象方法

为了检索一个对象方法,您可以像调用常规函数一样调用它,只是将其附加到对象变量上。

user.getName();
测试看看‹/›

如果访问不带()括号的方法,它将返回函数定义:

user.getName;
测试看看‹/›

什么是“this”关键字

您可能已经注意到我们的方法有些奇怪。以这个为例:

  getName: function() {
   return this.firstName + " " + this.lastName;
  }

this关键字是指代码被写入内部当前对象-所以在这种情况下,this等同于user

换句话说,this.firstName表示此对象的firstName属性。

您可以在JS this教程JS this关键字了解有关该关键字的更多信息。

您一直都在使用对象

当您浏览这些示例时,您可能一直在思考所使用的点符号非常熟悉。那是因为您在整个教程中一直在使用它。

每次我们遍历使用内置JavaScript对象的示例时。

当您使用以下行访问文档对象模型时:

  document.write("Hello world");
  document.getElementById("para");

您正在使用Document类示例上可用的方法。对于每个加载的网页,都会创建一个Document示例,称为document,它代表整个页面的结构,内容和其他功能,例如URL。同样,这意味着它具有几种可用的常用方法/属性。

new 关键字

当使用关键字声明JavaScript变量时new,该变量将作为对象创建:

  var a = new Number();  // 将a声明为Number对象
  var b = new String();  // 将b声明为String对象
  var c = new Boolean();   // 将c声明为Boolean对象

避免使用StringNumberBoolean对象。它们会使您的代码复杂化,并降低执行速度。

您将在本教程的后面部分了解有关对象的更多信息。

JavaScript菜鸟教程
JavaScript 对象
JavaScript 函数
JS HTML DOM
JS 浏览器BOM
AJAX 菜鸟教程
JavaScript 参考手册