Object方法总结

在这里插入图片描述

对象 (object)

Object JavaScript 的一种 数据类型 。它用于存储各种键值集合和更复杂的实体。Objects 可以通过 Object() 构造函数或者使用 对象字面量 的方式创建
在这里插入图片描述

描述

JavaScript中,几乎所有的对象都是Object类型的实例,它们都会从Object.prototype继承属性和方法,虽然大部分属性都会被覆盖(shadowed)或者说被重写了(overridden)。 除此之外,Object 还可以被故意的创建,但是这个对象并不是一个“真正的对象”(例如:通过 Object.create(null)),或者通过一些手段改变对象,使其不再是一个“真正的对象”(比如说: Object.setPrototypeOf)。

通过原型链,所有的 object 都能观察到 Object 原型对象(Object prototype object)的改变,除非这些受到改变影响的属性和方法沿着原型链被进一步地重写。尽管有潜在的危险,但这为覆盖或扩展对象的行为提供了一个非常强大的机制。

Objec1t 构造函数为给定的参数创建一个包装类对象(object wrapper),具体有以下情况:

如果给定值是 nullundefined,将会创建并返回一个空对象
如果传进去的是一个基本类型的值,则会构造其包装类型的对象
如果传进去的是引用类型的值,仍然会返回这个值,经他们复制的变量保有和源对象相同的引用地址
当以非构造函数形式被调用时,Object 的行为等同于 new Object()

构造函数

Object()创建一个新的 Object 对象。该对象将会包裹(wrapper)传入的参数

静态方法

Object.assign()
通过复制一个或多个对象来创建一个新的对象。
Object.create()
使用指定的原型对象和属性创建一个新对象。
Object.defineProperty()defineProperty)
给对象添加一个属性并指定该属性的配置。
Object.defineProperties()defineProperties)
给对象添加多个属性并分别指定它们的配置。
Object.entries()
返回给定对象自身可枚举属性的 [key, value] 数组。
Object.freeze()
冻结对象:其他代码不能删除或更改任何属性。
Object.getOwnPropertyDescriptor()
返回对象指定的属性配置。
Object.getOwnPropertyNames()
返回一个数组,它包含了指定对象所有的可枚举或不可枚举的属性名。
Object.getOwnPropertySymbols()
返回一个数组,它包含了指定对象自身所有的符号属性。
Object.getPrototypeOf()
返回指定对象的原型对象。
Object.is()
比较两个值是否相同。所有 NaN 值都相等(这与=====不同)。
Object.isExtensible()
判断对象是否可扩展。
Object.isFrozen()
判断对象是否已经被冻结。
Object.isSealed()
判断对象是否已经密封。
Object.keys()
返回一个包含所有给定对象自身可枚举属性名称的数组。
Object.preventExtensions()
防止对象的任何扩展。
Object.seal()
防止其他代码删除对象的属性。
Object.setPrototypeOf()
设置对象的原型(即内部 [[Prototype]] 属性)。
Object.values()
返回给定对象自身可枚举值的数组。

实例属性

Object.prototype.constructorconstructor
一个引用值,指向 Object 构造函数
Object.prototype.__proto__
指向一个对象,当是一个 object 实例化时,使用该对象作为实例化对象的原型

实例方法

Object.prototype.__defineGetter__()
将一个属性与一个函数相关联,当该属性被访问时,执行该函数,并且返回该函数的返回值。
Object.prototype.__defineSetter__()
将一个属性与一个函数相关联,当该属性被设置时,执行该函数,执行该函数去修改某个属性。
Object.prototype.__lookupGetter__()
返回一个函数,该函数通过给定属性的 Object.prototype.__defineGetter__() 得出。
Object.prototype.__lookupSetter__()
返回一个函数,该函数通过给定属性的 Object.prototype.__defineSetter__() 得出。
Object.prototype.hasOwnProperty()
返回一个布尔值,用于表示一个对象自身是否包含指定的属性,该方法并不会查找原型链上继承来的属性。
Object.prototype.isPrototypeOf()
返回一个布尔值,用于表示该方法所调用的对象是否在指定对象的原型链中。
Object.prototype.toString()
返回一个代表该对象的字符串。
Object.prototype.valueOf()
返回指定对象的原始值。

示例

给定undefined和null类型使用Object
下面的例子将一个空的 Object 对象存到 o 中:

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

create 创建一个实例对象

const obj = Object.create({a:1}, {b: {value: 2}})
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值