龙空技术网

JavaScript数据类型之Object类型

木森林林学苑 70

前言:

而今朋友们对“js数据类型object”都比较关心,各位老铁们都想要了解一些“js数据类型object”的相关文章。那么小编同时在网络上网罗了一些对于“js数据类型object””的相关内容,希望姐妹们能喜欢,咱们快快来了解一下吧!

一、Object类型

ECMAScript中的对象其实就是一组数据和功能的集合。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性和(或)方法,就可以创建自定义对象,这个语法与Java中创建对象的语法相似。但在ECMAScript中,如果不给构造函数传递参数,则可以省略后面的那一对圆括号。如下所示:

var o = new Object();var o = new Object;

在ECMAScript中,Object类型是所有它的实例的基础。Object类型所具有的任何属性和方法也同样存在于更具体的对象中,就像Java中的java.lang.object对象一样。

二、Object实例的属性和方法

Object的每个实例都具有下列属性和方法:

constructor:保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是Object()。hasOwnProperty(propertyName):用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名必须以字符串形式指定。如:o.hasOwnProperty("name")。isPrototypeOf(object):用于检查调用的对象是否是传入对象的原型。propertyIsEnumerable(propertyName):用于检查给定的属性是否能够使用for-in语句来枚举。作为参数的属性名必须以字符串形式指定。toLocaleString():返回对象的字符串表示,该字符串与执行环境的地区对应。toString():返回对象的字符串表示。valueOf():返回对象的字符串、数值或布尔值表示。通常与toString()方法的返回值相同。

在ECMAScript中,object是所有对象的基础,因此所有对象都具有这些基本的属性和方法。

从技术角度讲,ECMA-262中对象的行为不一定适用于JavaScript中的其他对象。浏览器环境中的对象,比如BOM和DOM中的对象,都属于宿主对象,因为它们是由宿主实现提供和定义的。ECMA-262不负责定义宿主对象,因此宿主对象可能会也可能不会继承Object。

标签: #js数据类型object