JavaScript 不是一种成熟的面向对象编程言语,例如 Java,但它是在便捷的基于对象的模型上设计的。对象是具备蕴含 JavaScript 变量或其余对象的属性的结构。对象还具备与其关联的函数,这些函数称为对象的方法。除了 JavaScript 外围(例如数组或数学)对象之外,您还可以定义自己的对象。
简介
由于 JavaScript 是一种松懈类型、灵活且富裕体现力的言语,因此您可以经过多种方式实现相反的义务。本教程的目标是为您提供监禁言语后劲(在创立和经常使用对象的高低文中)的指南,从而协助您了解幕后出现的事件。不能说这里形容的方法是做事的惟一方法。相反,假设这能协助您选用自己的方法,那就太好了。
JavaScript 对象、创立对象、语法
JavaScript 对象
JavaScript 中的“一切”就像一个对象,例如字符串、数字、数组、函数……,但有两个例外:和。
JavaScript:创立对象
在 JavaScript 中,创立对象的方法有很多种。您可以经常使用对象初始值设定项创立对象,或编写结构函数来定义对象类型并经常使用 new 运算符创立对象的实例。 JavaScript 的“对象初始值设定项”与 C++ 经常使用的术语分歧。
句法
经常使用对象字面量 - {} 示意法,您可以创立一个个别对象:
或许
您可以经过定义属性和值来创立新对象:
在哪里
objectName :新对象的称号。
property_1, property_2, .....property_n :标识符(称号、数字或字符串)。
value1, value2,..,valueN :一个表白式,其值由 property_1、property_2、.....property_n 标识。
在 JavaScript 中,您可以创立新对象而无需创立类。该对象不属于任何类;它是同类中惟一的一个。您可以经常使用typeof 运算符来失掉新创立的对象的数据类型。请参阅以下示例:
*要运转代码,请将鼠标悬停在“输入”面板上,而后单击“经常使用 JS 运转”按钮。*
jsbin.com 上的 JS Bin ">审核查象的类型
示例:对象初始值设定项
以下代码创立一个对象“student”,具备三个属性 name、sclass 和 rollno。
经常使用结构函数
这是创立对象的另一种方法。
首先经过编写结构函数定义对象类型,而后用new创立对象的实例。
编写结构函数时,咱们应该遵照以下规定。
结构函数称号将是对象类型称号。
在结构函数中,this 运算符用于援用以后对象。
属性/方法的值在等号“=”之后定义。
结构函数中不会有“return”语句。
结构函数的示例
这是结构函数的示例:
上方对象的类型是student,有name、sclass、rollno三个属性。对象的值取决于传递给函数的参数。让咱们创立一个名为 Studentv 的对象,如下所示:
上方的语句创立一个名为 Studentv 的对象,并为其属性调配指定的值。因此,studentv.name 的值是字符串“John”,studentv.sclass 是字符串“V”,student.rollno 是整数 10。您可以经常使用 new 运算符创立恣意数量的在校生对象。例如 -
对象和属性
属性是对象的特色。 JavaScript 对象具备与其关联的属性。例如,文档对象有一个名为 fgColor 的属性,该属性形容 (document.fgColor = "color_name") 该对象的背景颜色。 JavaScript 对象的属性与 JavaScript 变量基本相反,只是附加了带有点符号的对象称号。
在javaScript中,对象名和属性名都是辨别大小写的。您可以经过指定值来定义属性。假定有一个名为student的对象,它具备三个属性name、sclass、rollno。他们定义如下:
JavaScript 对象的属性也可以经常使用方括号示意法来设置。 JavaScript 中的对象和数组亲密关系,实践上它们是同一数据结构的不同接口。您可以按如下方式设置先前在校生对象的属性:
所述数组的类型称为关联数组,由于每个索引元素也与一个字符串值关联。
访问属性
有两种方法可以访问对象的属性:
点符号
方括号示意法。
两种符号的作用相反。方括号示意法用于在灵活设置属性时确定属性称号(即直到运转时才确定属性称号)。
删除属性
删除运算符删除对象的属性。假设将属性设置为 null 或未定义,则只会删除与该属性关联的值,但不会删除键。请参见以下示例:
JavaScript:定义方法
在 JavaScript 中,对象的方法在该对象“外部”运转。方法是与对象关联的函数。对象的键称为属性,它们是原始值和其余对象的容器。假设属性蕴含函数作为其值,则它们称为方法。方法的定义方式与个别函数的定义方式相反,只不过它们必定被指定为对象的属性。请参阅以下代码:
句法
在哪里
“ myObj ”是对象的称号。
“ methodName ”是方法的称号。
“ Myfunction ”是函数的称号。
您可以经过以下方式调用上述方法:
myObj.methodName(参数);您可以经过在对象结构函数中蕴含方法定义来定义对象类型的方法。例如,您可以定义一个函数,该函数将格局化并显示先前定义的在校生对象的属性(即称号、班级、卷号);请参阅以下示例:
其中alert() - 显示在校生的具体消息。
要使该函数成为在校生对象的方法,可以经常使用以下代码:
this.studentDetails = 在校生具体消息;到对象定义。
因此,在校生的完整定义如今如下所示:
示例:在校生对象
HTML 代码
JS代码
JavaScript 方法的更多示例
HTML 代码
JS代码
原型
在上一节中,咱们将对象探讨为便捷的键和值对。然而JavaScript对象中有一个附加属性,一个指向另一个对象的指针,称为该对象的原型。
JavaScript 不允许经典的承袭模型,而是经常使用原型模型。
JavaScript 中的每个对象都蕴含对其原型的援用
自动是object.prototype
字符串经常使用 String.prototype 等。
原型可以有原型,等等。
对象从其原型承袭一切属性/方法
在上方的示例中,咱们创立了一个结构函数,并将一个方法(“display”)减少到该函数的原型属性中,而后创立一个新对象(“stu1”)。
HTML 代码
JS代码
如今,新创立的对象“stu1”可以访问结构函数原型上定义的一切属性。
删除对象
经常使用删除运算符咱们可以删除一个对象。请参阅以下代码如何删除对象。
myobj=新数组(元素1,元素2)
删除 myobj
JavaScript假设本文对你有协助,那么请你资助我,让我更有热情的写下去,协助更多的人。