跳至正文
首页 » 博客 » Easy JavaScript Part 13: Four Ways to Create Objects in JavaScript

Easy JavaScript Part 13: Four Ways to Create Objects in JavaScript

在JavaScript中,有四种方法可用于创建对象:

  1. 对象文字
  2. New运算符或构造函数
  3. Object.create方法

在这篇文章中,我们将学习这些方法。

对象文字

对象文字,也称为对象初始值设定项,是一组以逗号分隔的成对名称和值。您可以创建一个对象文字,如下所示:

var car = {型号: 'bmw'颜色: '红色'价格: 2000}控制台日志(JSONstringify(汽车));

您可以在对象中动态添加属性,包括在创建对象之后。在这里,我们添加car.type动态属性:

var car = {型号: 'bmw'颜色: '红色'价格: 2000}控制台日志(JSONstringify(汽车));car.type = 'manual'; // 动态属性console.log (JSON.stringify (car )); 

对象文字是一个简单的表达式,每次在代码中执行出现的语句时创建一个对象。您还可以使用object.Defineprperty在对象文字中创建属性,如下所示:

var car = {型号: 'bmw'颜色: '红色'价格: 2000} 对象定义属性(汽车,"类型",{writable: true,可枚举: true可配置: false:gas”});控制台日志(汽车类型);// 气体

使用object.Defineprperty的主要优点是可以设置对象属性描述符的值或修改现有属性。您可以在此处了解更多关于对象属性描述符的信息

New运算符或构造函数

创建对象的第二种方法是使用构造函数。如果使用new运算符调用函数,则该函数将充当构造函数并返回一个对象。考虑下面的代码:

功能汽车(型号,颜色){这个.model = 模型;这个.color = 颜色;} var c1 = 汽车 ('BMW''red ');控制台日志(c1型号);

这种创建对象的方法也称为构造函数调用模式 (Constructor Invocation Pattern)。使用构造函数有两个步骤:

  1. 创建一个函数,它将定义对象类型。
  2. 使用创建对象的实例新建操作员。

要创建Student对象,首先创建一个如下所示的函数。在此示例中, 表示正在创建的对象,因此name和age将是新创建的对象的属性。

功能学生(姓名,年龄){this.name = name;这个.年龄 = 年龄;} 

接下来,创建Student对象类型的实例,如下所示:

var s1 = 学生 (7'foo');控制台日志(s1姓名);var s2 = 学生 (9'koo' );控制台日志(s2姓名);

您可以使用instanceof运算符来查找实例的类型,并确定s1是否为Student对象的实例,如下所示:

var s1 = 学生 (9'foo');控制台日志(s1instanceof学生);

您还可以使用object.Definepproperty在构造函数中创建属性,如下所示:

(车型)

功能 {对象定义属性(,"模型",{writable: true,可枚举: true可配置: false: 模型});} varmyCar=新建汽车(“奥迪A3”);控制台日志(myCar型号);// 奥迪A3

使用object.Defineproperty的主要优点是可以设置对象属性描述符的值。您可以在此处了解更多关于对象属性描述符的信息

Object.create方法

您还可以使用Object.create() 方法创建新对象,该方法允许您指定原型对象和属性。例如:

var Car = {型号: 'BMW'颜色 “红色”:} 

您可以使用Car对象作为原型来创建另一个对象,如下所示:

ElectricCar

var = 对象创建 (Car);控制台日志(电动车型号);// 宝马

在本例中,您已经使用Car对象作为原型创建了一个名为ElectricCar的对象,因此ElectricCar对象将具有Car对象的所有属性。您还可以添加如下所示的属性:

ElectricCar

var = 对象创建 (汽车{类型: {:电”writable: true,可配置: false可枚举: true}});控制台日志(电动车类型);// 电动

属性应该作为对象传递,并且可以使用属性描述符进行设置。还可以使用Object.create方法在对象之间创建继承。

ECMAScript 6引入了class关键字来在JavaScript中创建类。现在,您可以使用class属性在JavaScript中创建一个类,而不是一个函数构造函数,并使用new运算符创建一个实例。考虑下面的代码:

汽车

 { constructor (maker,price) {这个.制造者 = 制造者;这个.价格 = 价格;} getInfo () {控制台日志(制造者 "费用:" 价格);}} 

您可以使用Car类创建对象,如下所示:

var car1 = 汽车 (100“宝马” );car1getInfo();var car2 = 汽车 (150“奥迪” );car2getInfo (); 

了解更多关于类在这里

结论

在JavaScript中有四种创建对象的方法-使用对象文字、使用函数构造函数、使用object.create方法和使用class关键字 (与使用函数构造函数几乎相同)。当您需要使用现有对象作为原型创建对象时,Object.create方法非常有用。

在下一篇文章中,我们将深入探讨JavaScript的其他方面。同时,不要忘记查看Ignite UI for JavaScript/HTML5和ASP.NET MVC ,您可以将其与HTML5,Angular,React和ASP.NET MVC一起使用来创建富Internet应用程序。您可以免费下载试用版我们所有的JavaScript控件。</p