js中Object对象常用方法和属性

一、属性

Object自带一个prototype的属性,即Object.prototype,Object.prototype本身也是一个对象,也会有一些属性和方法。如下:

1、属性

Object.prototype.writable:默认为false

Object.prototype.enumerable:默认为false

Object.prototype.configurable:默认为false

Object.prototype.constructor:用于创建一个对象的原型。

2、常用方法

Object.prototype.hasOwnProperty():返回一个布尔值,表示某个对象是否含有指定的属性,而且此属性非原型链继承。

Object.prototype.isPrototypeOf():返回一个布尔值,表示指定的对象是否在本对象的原型链中。

Object.prototype.propertyIsEnumerable():判断指定属性是否可枚举。

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

Object.prototype.watch():给对象的某个属性增加监听。

Object.prototype.unwatch():移除对象某个属性的监听。

Object.prototype.valueOf():返回指定对象的原始值。

二、方法

Object.assign(target, …sources):把任意多个的源对象自身的可枚举属性拷贝给目标对象,然后返回目标对象。

Object.create(proto,[propertiesobject]):创建一个拥有指定原型和若干个指定属性的对象。

Object.defineProperties(obj, props):在一个对象上添加或修改一个或者多个自有属性,并返回该对象。

Object.defineProperty(obj, prop, descriptor):直接在一个对象上定义一个新属性,或者修改一个已经存在的属性, 并返回这个对象。obj:需要定义属性的对象。prop:需定义或修改的属性的名字。descriptor:将被定义或修改的属性的描述符。

Object.entries(obj):返回一个包含由给定对象所有可枚举属性的属性名和属性值组成的 [属性名,属性值] 键值对的数组,数组中键值对的排列顺序和使用for…in循环遍历该对象时返回的顺序一致。

举例: 
var obj = { foo: “bar”, baz: 42 }; 
console.log(Object.entries(obj)); // [ [‘foo’, ‘bar’], [‘baz’, 42] ]
   

Object.freeze(obj):冻结一个对象,冻结指的是不能向这个对象添加新的属性,不能修改其已有属性的值,不能删除已有属性,以及不能修改该对象已有属性的可枚举性、可配置性、可写性。也就是说,这个对象永远是不可变的。该方法返回被冻结的对象。

Object.getOwnPropertyDescriptor(obj, prop):返回指定对象上一个自有属性对应的属性描述符。

Object.getOwnPropertyNames(obj):返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性)组成的数组。

举例: 
// 类数组对象 
var obj = { 0: “a”, 1: “b”, 2: “c”}; 
console.log(Object.getOwnPropertyNames(obj).sort()); // [“0”, “1”, “2”]
   

Object.getPrototypeOf(object):返回该对象的原型。

Object.is(value1, value2):判断两个值是否是同一个值。

Object.isExtensible(obj):判断一个对象是否是可扩展的(是否可以在它上面添加新的属性)。

Object.isFrozen(obj):判断一个对象是否被冻结(frozen)。

Object.isSealed(obj):判断一个对象是否是密封的(sealed)。密封对象是指那些不可 扩展 的,且所有自身属性都不可配置的(non-configurable)且属性不可删除的对象(其可以是可写的)。

Object.keys(obj):返回一个由给定对象的所有可枚举自身属性的属性名组成的数组,数组中属性名的排列顺序和使用for-in循环遍历该对象时返回的顺序一致

举例: 
var arr = [“a”, “b”, “c”]; 
alert(Object.keys(arr)); // 弹出”0,1,2”
// 类数组对象 
var obj = { 0 : “a”, 1 : “b”, 2 : “c”}; 
alert(Object.keys(obj)); // 弹出”0,1,2”
   

Object.preventExtensions(obj):让一个对象变的不可扩展,也就是永远不能再添加新的属性。

Object.setPrototypeOf(obj, prototype):将一个指定的对象的原型设置为另一个对象或者null

Object.values(obj):返回一个包含指定对象所有的可枚举属性值的数组,数组中的值顺序和使用for…in循环遍历的顺序一样。

举例: 
var obj = { foo: “bar”, baz: 42 }; 
console.log(Object.values(obj)); // [‘bar’, 42]
(0)

相关推荐

  • PPT2010中如何通过Shockwave Flash Object对象插入flash动画

    在PPT2010中插入flash动画对于一些新手朋友们来说确实存在一定的难度,毕竟在操作过程中是有很多的细节是需要注意的.就比如将动画文件和演示文稿放在一个文件夹内,虽然很简单,但也很重要.首先在工具 ...

  • 使用IE浏览器时右下角状态栏中显示"对象不支持此属性或方法"的解决办法

    症状分析:使用IE浏览器时,IE右下角状态栏中显示“对象不支持此属性或方法,已完成,但网页上有错误”的警告提示,双击状态栏上的“详细信息”后可以查看到 “行:x 字符:x 错误:没有注册类别 代码:x ...

  • JS中this关键字的解释

    this关键字 每一个行为发生的时候,肯定会有一个发生这个行为的主体.比如说吃饭这个方法,它是由上帝来定义的,世界上所有的人来执行.吃饭这个行为发生的时候,主体就是在吃饭的这个人,也就是要有人执行吃饭 ...

  • 如何在Win10中解决无法枚举容器中的对象的问题

    有的小伙伴在使用Windows10系统的电脑时,想要打开一个文件夹,但是却看到了无法枚举容器中的对象,访问被拒绝的提示窗口,那么该如何解决这一问题呢?小编就来为大家介绍一下吧.具体如下:1.第一步,右 ...

  • 如何在PR软件中设置对象的中心位置

    今天给大家介绍一下如何在PR软件中设置对象的中心位置的具体操作步骤.1. 如图,我们进入PR软件中的节目,对视频轨道的对象双击.2. 如图,在画面上的中间位置,就会显示一个锚点.3. 我们可以选择将这 ...

  • js中鼠标滑过显示内容,移出隐藏内容效果

    在做网页的时候这是经常会遇到的一个效果,鼠标滑过一个div的时候内容显示,鼠标移出div的时候内容隐藏.其实这在js中是个非常简单的效果,很好实现,下面我来给大家敲下代码看是如何一步步实现的,大家按照 ...

  • win10无法枚举容器中的对象,访问被拒绝怎么办

    win10无法枚举容器中的对象,访问被拒绝怎么办,相信很多使用电脑的朋友们对此都很感兴趣,下面就和大家来分享一下,希望可以帮助到大家. 操作方法 01 选择需要修改的目标文件夹,右击,选择属性,安全, ...

  • 在一个js中引用另一个js的方法

    js中引用另外一个js的方法主要有两种,实际上性质是一样的,这篇文章就来和大家分享一下这两种方法,与HTML编程的理念 操作方法 01 一个js调用另外一个js的方法,最简单的例子就是jquery的调 ...

  • win10无法枚举容器中的对象 访问被拒绝

    windows10添加用户权限的时候出现"无法枚举容器中的对象 访问被拒绝"这个错误 操作方法 01 右击文件,选择"属性"--"安全"-- ...

  • 在Word2010中设置Word文档属性信息

    Word文档属性包括作者、标题、主题、关键词、类别、状态和备注等项目,关键词属性属于Word文档属性之一。用户通过设置Word文档属性,将有助于管理Word文档。在Word2010中设置Word文档属 ...