JavaScript Object 对象
- Object
- Object是 JavaScript 的一种数据类型。它用于存储各种键值集合和更复杂的实体。Objects 可以通过Object()构造函数或者使用对象字面量的方式创建描述在 JavaScript 中,几乎所有的对象都是Object类型的实例,它们都会从Object.prototype继承属性和方法
- new Object()
- Object构造函数创建一个对象包装器。语法//对象初始化器(Object initialiser)或对象字面量(literal){[ nameValuePair1[, nameValuePair2[,...nameValuePairN]] ]}//以构造函数形式来调用new Object([val
- Object.is()
- Object.is()方法判断两个值是否是相同的值。语法Object.is(value1, value2);参数value1第一个需要比较的值。value2第二个需要比较的值。返回值表示两个参数是否相同的布尔值。描述Object.is()判断两个值是否相同。如果下列任何一项成立,则两个值相同:两个值
- Object.keys()
- Object.keys()方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用for...in循环遍历该对象时返回的顺序一致。语法Object.keys(obj)参数obj要返回其枚举自身属性的对象。返回值一个表示给定对象的所有可枚举属性的字符串数组。描述Object
- Object.getOwnPropertyNames()
- Object.getOwnPropertyNames()方法返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性但不包括Symbol值作为名称的属性)组成的数组。语法Object.getOwnPropertyNames(obj)参数obj一个对象,其自身的可枚举和不可枚举属性的名称被返回。返回
- Object.getOwnPropertySymbols()
- Object.getOwnPropertySymbols()方法返回一个给定对象自身的所有 Symbol 属性的数组。语法Object.getOwnPropertySymbols(obj)参数obj要返回 Symbol 属性的对象。返回值在给定对象自身上找到的所有 Symbol 属性的数组。描述与O
- Object.values()
- Object.values()方法返回一个给定对象自身的所有可枚举属性值的数组,值的顺序与使用for...in循环的顺序相同(区别在于 for-in 循环枚举原型链中的属性)。语法Object.values(obj)参数obj被返回可枚举属性值的对象。返回值一个包含对象自身的所有可枚举属性值的数组。
- Object.defineProperty()
- Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回这个对象。语法Object.defineProperty(obj, prop, descriptor)参数obj要在其上定义属性的对象。prop要定义或修改的属性的名称。descri
- Object.defineProperties()
- Object.defineProperties()方法直接在一个对象上定义新的属性或修改现有属性,并返回该对象。语法Object.defineProperties(obj, props)参数obj在其上定义或修改属性的对象。props要定义其可枚举属性或修改的属性描述符的对象。对象中存在的属性描述符
- Object.entries()
- Object.entries()方法返回一个给定对象自身可枚举属性的键值对数组,其排列与使用for...in循环遍历该对象时返回的顺序一致(区别在于 for-in 循环还会枚举原型链中的属性)。语法Object.entries(obj)参数obj可以返回其可枚举属性的键值对的对象。返回值给定对象自身
- Object.fromEntries()
- Object.fromEntries()方法把键值对列表转换为一个对象。语法Object.fromEntries(iterable);参数iterable可迭代对象,类似Array、Map或者其它实现了可迭代协议的对象。返回值一个由该迭代对象条目提供对应属性的新对象。描述Object.fromEnt
- Object.hasOwn()
- 如果指定的对象自身有指定的属性,则静态方法Object.hasOwn()返回true。如果属性是继承的或者不存在,该方法返回false。备注:Object.hasOwn()旨在取代Object.hasOwnProperty()。尝试一下语法hasOwn(instance, prop)Copy to
- Object.getOwnPropertyDescriptor()
- Object.getOwnPropertyDescriptor()方法返回指定对象上一个自有属性对应的属性描述符。(自有属性指的是直接赋予该对象的属性,不需要从原型链上进行查找的属性)语法Object.getOwnPropertyDescriptor(obj, prop)参数obj需要查找的目标对象
- Object.getOwnPropertyDescriptors()
- Object.getOwnPropertyDescriptors()方法用来获取一个对象的所有自身属性的描述符。语法Object.getOwnPropertyDescriptors(obj)参数obj任意对象返回值所指定对象的所有自身属性的描述符,如果没有任何自身属性,则返回空对象。示例浅拷贝一个对
- Object.create()
- Object.create()方法创建一个新对象,使用现有的对象来提供新创建的对象的__proto__。(请打开浏览器控制台以查看运行结果。)语法Object.create(proto[, propertiesObject])参数proto新创建对象的原型对象。propertiesObject可选。
- Object.assign()
- Object.assign()方法用于将所有可枚举属性的值从一个或多个源对象复制到目标对象。它将返回目标对象。语法Object.assign(target,...sources)参数target目标对象。sources源对象。返回值目标对象。描述如果目标对象中的属性具有相同的键,则属性将被源对象中的
- Object.preventExtensions()
- Object.preventExtensions()方法让一个对象变的不可扩展,也就是永远不能再添加新的属性。语法Object.preventExtensions(obj)参数obj将要变得不可扩展的对象。返回值已经不可扩展的对象。描述如果一个对象可以添加新的属性,则这个对象是可扩展的。Object
- Object.isExtensible()
- Object.isExtensible()方法判断一个对象是否是可扩展的(是否可以在它上面添加新的属性)。语法Object.isExtensible(obj)参数obj需要检测的对象返回值表示给定对象是否可扩展的一个Boolean。描述默认情况下,对象是可扩展的:即可以为他们添加新的属性。以及它们的
- Object.freeze()
- Object.freeze()方法可以冻结一个对象。一个被冻结的对象再也不能被修改;冻结了一个对象则不能向这个对象添加新的属性,不能删除已有属性,不能修改该对象已有属性的可枚举性、可配置性、可写性,以及不能修改已有属性的值。此外,冻结一个对象后该对象的原型也不能被修改。freeze()返回和传入的参
- Object.isFrozen()
- Object.isFrozen()方法判断一个对象是否被冻结。语法Object.isFrozen(obj)参数obj被检测的对象。返回值表示给定对象是否被冻结的Boolean。描述一个对象是冻结的是指它不可扩展,所有属性都是不可配置的,且所有数据属性(即没有getter或setter组件的访问器的属
- Object.seal()
- Object.seal()方法封闭一个对象,阻止添加新属性并将所有现有属性标记为不可配置。当前属性的值只要可写就可以改变。语法Object.seal(obj)参数obj将要被密封的对象。返回值被密封的对象。描述通常,一个对象是严格模式中最常见的,但不唯一)。不会影响从原型链上继承的属性。但)属性的值
- Object.isSealed()
- Object.isSealed()方法判断一个对象是否被密封。语法Object.isSealed(obj)参数obj要被检查的对象。返回值表示给定对象是否被密封的一个Boolean。描述如果这个对象是密封的,则返回true,否则返回false。密封对象是指那些不可扩展的,且所有自身属性都不可配置且因
- Object.getPrototypeOf()
- Object.getPrototypeOf()方法返回指定对象的原型(内部[[Prototype]]属性的值)。语法Object.getPrototypeOf(object)参数obj要返回其原型的对象。返回值给定对象的原型。如果没有继承属性,则返回null。示例var proto ={};var
- Object.setPrototypeOf()
- Object.setPrototypeOf()方法设置一个指定的对象的原型(即,内部[[Prototype]]属性)到另一个对象或null。警告:由于现代 JavaScript 引擎优化属性访问所带来的特性的关系,更改对象的[[Prototype]]在各个浏览器和 JavaScript 引擎上都是一
- Object.prototype.__proto__
- 已废弃该特性已经从 Web 标准中删除,虽然一些浏览器目前仍然支持它,但也许会在未来的某个时间停止支持,请尽量不要使用该特性。警告:通过现代浏览器的操作属性的便利性,可以改变一个对象的[[Prototype]]属性,这种行为在每一个JavaScript引擎和浏览器中都是一个非常慢且影响性能的操作,使
- Object.prototype.constructor
- 返回创建实例对象的Object构造函数的引用。注意,此属性的值是对函数本身的引用,而不是一个包含函数名称的字符串。对原始类型来说,如1,true和"test",该值只可读。描述所有对象都会从它的原型上继承一个constructor属性:var o ={};o.constructor === Obje
- Object.prototype.valueOf()
- valueOf()方法返回指定对象的原始值。语法object.valueOf()返回值返回值为该对象的原始值。描述JavaScript调用valueOf方法将对象转换为原始值。你很少需要自己调用valueOf方法;当遇到要预期的原始值的对象时,JavaScript会自动调用它。默认情况下,value
- Object.prototype.toString()
- toString()方法返回一个表示该对象的字符串。语法obj.toString()返回值一个表示该对象的字符串。描述每个对象都有一个toString()方法,当该对象被表示为一个文本值时,或者一个对象以预期的字符串方式引用时自动调用。默认情况下,toString()方法被每个Object对象继承。
- Object.prototype.toLocaleString()
- toLocaleString()方法返回一个该对象的字符串表示。此方法被用于派生对象为了特定语言环境的目的(locale-specific purposes)而重载使用。语法obj.toLocaleString();返回值表示对象的字符串。描述toString()的结果。该函数提供给对象一个通用的t
- Object.prototype.hasOwnProperty()
- hasOwnProperty()方法会返回一个布尔值,指示对象自身属性中是否具有指定的属性(也就是,是否有指定的键)。语法obj.hasOwnProperty(prop)参数prop要检测的属性的String字符串形式表示的名称,或者Symbol。返回值用来判断某个对象是否含有指定的属性的布尔值Bo
- Object.prototype.isPrototypeOf()
- isPrototypeOf()方法用于测试一个对象是否存在于另一个对象的原型链上。isPrototypeOf()与instanceof运算符不同。在表达式"object instanceof AFunction"中,object的原型链是针对AFunction.prototype进行检查的,而不是针