目录

JavaScript 对象


现实生活中的对象、属性和方法

在现实生活中,汽车是对象

一辆车有特性例如重量和颜色,以及方法比如开始和停止:

对象 特性 方法

汽车名称 = 菲亚特

汽车型号 = 500

车重=850kg

汽车颜色=白色

汽车.start()

汽车.drive()

汽车.brake()

汽车.stop()

所有车都一样特性,但属性因车而异。

所有车都一样方法,但是执行了这些方法在不同的时间


JavaScript 对象

您已经了解 JavaScript 变量是数据值的容器。

这段代码分配了一个简单值(菲亚特)到多变的命名汽车:

let car = "Fiat";
亲自试一试 »

对象也是变量。但对象可以包含许多值。

这段代码分配许多值(菲亚特,500,白色)到多变的命名汽车:

const car = {type:"Fiat", model:"500", color:"white"};
亲自试一试 »

这些值写为名称:值对(名称和值用冒号分隔)。

使用以下方式声明对象是一种常见的做法const关键字。

了解有关使用的更多信息const本章中的对象:JS 常量



对象定义

您可以使用对象字面量定义(并创建)一个 JavaScript 对象:

示例

const person = {firstName:"John", lastName:"Doe", age:50, eyeColor:"blue"};
亲自试一试 »

空格和换行符并不重要。一个对象定义可以跨越多行:

示例

const person = {
  firstName: "John",
  lastName: "Doe",
  age: 50,
  eyeColor: "blue"
};
亲自试一试 »

对象属性

这个名称:值JavaScript 对象中的对称为特性

属性 适当的值
约翰
美国能源部
年龄 50
眼睛的颜色 蓝色的

访问对象属性

您可以通过两种方式访问​​对象属性:

objectName.propertyName

或者

objectName["propertyName"]

示例1

person.lastName;
亲自试一试 »

例2

person["lastName"];
亲自试一试 »

JavaScript 对象是以下内容的容器命名值称为属性。


对象方法

对象还可以有方法

方法有行动可以在对象上执行。

方法存储在属性中,如下所示函数定义

属性 适当的值
约翰
美国能源部
年龄 50
眼睛的颜色 蓝色的
全名 function() {return this.firstName + " " + this.lastName;}

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


示例

const person = {
  firstName: "John",
  lastName : "Doe",
  id       : 5566,
  fullName : function() {
    return this.firstName + " " + this.lastName;
  }
};

在上面的例子中,this指的是person

this.firstName意味着personfirstName属性。

this.lastName意味着personlastName属性。


什么是this

在 JavaScript 中,this关键字指的是对象

哪个对象取决于如何this正在被调用(使用或调用)。

这个this关键字根据其使用方式指代不同的对象:

在对象方法中,this指的是对象
独自的,this指的是全局对象
在一个函数中,this指的是全局对象
在函数中,在严格模式下,thisundefined
在一次活动中,this指的是元素收到该事件的。
方法如call(),apply(), 和bind()可以参考this任何物体

笔记

this不是变量。这是一个关键字。您无法更改的值 this

也可以看看:

JavaScriptthis教程


这个this关键字

在函数定义中,this指的是函数本身。

在上面的例子中,this是个对象那就是指fullName函数。

换句话说,this.firstName意味着这个对象firstName属性。

学习更多关于thisJavaScript 本教程


访问对象方法

您可以使用以下语法访问对象方法:

objectName.methodName()

示例

name = person.fullName();
亲自试一试 »

如果你访问一个方法没有() 括号中,它将返回函数定义

示例

name = person.fullName;
亲自试一试 »

不要将字符串、数字和布尔值声明为对象!

当使用关键字“声明 JavaScript 变量时new",变量被创建为对象:

x = new String();        // Declares x as a String object
y = new Number();        // Declares y as a Number object
z = new Boolean();       // Declares z as a Boolean object

避免String,Number, 和Boolean对象。它们使您的代码变得复杂并降低执行速度。

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


通过练习测试一下

练习:

警报"John"通过从中提取信息person目的。

const person = {
  firstName: "John",
  lastName: "Doe"
};

alert();

开始练习