#yyds干货盘点#复合数据类型–Object类型

Posted 李游LEO

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了#yyds干货盘点#复合数据类型–Object类型相关的知识,希望对你有一定的参考价值。


#yyds干货盘点#复合数据类型–Object类型_ecmascript

ECMAScript中的Object的对象类型,是一种比较复杂的复合数据类型。它本质上包含了部分数据类型,比如数组、函数数据类型、DOM其实等都属于Object对象。对象可以通过执行new操作符后跟要创建的对象类型的名称来创建。而创建Object类型的实例并为其添加属性或方法,就可以自定义对象,如下所示:

#yyds干货盘点#复合数据类型–Object类型_ecmascript_02

这个语法其实和Java中创建对象的语法类似;不过在ECMAScript中,对象创建有个特点,如果不需要传入参数的话,则可以省略后面的括号。也就是说,类似于上述的案例,在不传递参数的情况下,可以这样去写:

#yyds干货盘点#复合数据类型–Object类型_对象类型_03

仅仅创建 Object 的实例并没有什么用处,但关键是要理解一个重要的思想:即在 ECMAScript中,(就像Java中的 java.lang.Object 对象一样) Object 类型是所有它 的实例的基础。换句话说, Object 类型所具有的任何属性和方法也同样存在于更具 体的对象中。

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

constructor :保存着用于创建当前对象的函数。对于前面的例子而言,构造函数(constructor)就是 Object() 。

hasOwnProperty(propertyName) :用于检查给定的属性在当前对象实例中(而不是在实例的原型中)是否存在。其中,作为参数的属性名(propertyName )必须以字符串形式指定(例如:o.hasOwnProperty(“name”) )。

isPrototypeOf(object) :用于检查传入的对象是否是另一个对象的原型。

propertyIsEnumerable(propertyName) :用于检查给定的属性是否能够使用 for in 语句来枚举。与 hasOwnProperty() 方法一样,作为参数的属性名必须以字符串形式指定。

toLocaleString() :返回对象的字符串表示,该字符串与执行环境的地区对应。

toString() :返回对象的字符串表示。

valueOf() :返回对象的字符串、数值或布尔值表示。通常与 toString() 方法的返回值相同。

由于在ECMAScript中Object是所有对象的基础,因此所有的对象都具备这些基本的属性和方法。所以在 javascript 中, window、document、数组等都是对象,使用 typeof 对它们操作时,得到的结果为:object。例如:

#yyds干货盘点#复合数据类型–Object类型_对象类型_04

在 JavaScript 中有一个关键字为 null,该关键字表示没有对象,或者说对象是空的,用于定义空的或不存在的引用。当一个变量需要引用对象类型时,在声明时如果没有指向具体对象,最好使用 null 给它赋初始值。

以上是关于#yyds干货盘点#复合数据类型–Object类型的主要内容,如果未能解决你的问题,请参考以下文章

#yyds干货盘点#MySQL索引优化系列:索引全用及最左法则

#yyds干货盘点#ECMAScript 6 - Symbol

#yyds干货盘点#JavaScript 常用类型转换

#yyds干货盘点#愚公系列2022年10月 微信小程序-页面生命周期

#yyds干货盘点# Redis扩展数据类型详解

Redis列表list字符类型详解 #yyds干货盘点#