专栏首页前端技术开发面向对象中Object常用属性总结

面向对象中Object常用属性总结

学完Object属性,自己总结一些常用是Object常用属性。

Object.prototype:属性表示Object的原型对象。

属性:

Object.prototype.constructor:特定的函数,用户创建一个对象的原型。

Object.prototype.__proto__:指向当对象被实列化的时候,用作原型的对象

Object.prototype.__noSuchMethod__当未定义的对象成员被调用作方法的时候,允许定义并执行的函数。

方法:

Object.prototype.hasOwnProperty():返回一个布尔值,表示某个对象是否含有指定的属性,而且此属性非原型链接继承的。 语法:obj.hasOwnProperty(prop) prop:要检测的属性 字符串 名称或者Symbol 返回值:用来判断某个对象是否含有指定的属性的Boolean

Object.prototype.isPrototypeOf():返回一个布尔值,表示指定的对象是否在本对象的原型链中。 语法:prototypeObj.isPrototypeOf(object) object:在该对象的原型链上搜寻 返回值:Boolean,表示调用对象时是否在另一个对象的原型链上。

Object.prototype.propertyIsEnumerable():判断指定的属性是否可枚举,内部属性设置 ECMAScript DontEnum attribute 。 语法:Obj.propertyIsEnumerable(P):需要检测的属性名

Object.prototype.toSource():返回字符串表示此对象的源代码形式,可以使用此字符串生成一个相同的对象。 语法:Object.toSource();obj.toSource(); 返回值:一个表示对象的源代码的字符串

Object.prototype.toLcaleString():直接调用toSource()方法。 方法返回一个该对象的字符串表示,该方法主要用于被本地化 相关对象覆盖 语法L:Object.toLocaleString();

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

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

Object.prototype.valueOf():返回指定对象的原始值。 语法:Object.valueOf(); 返回值:返回值为该对象的原始值

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

****************************************************************************************************************************************************

Object.prototype.__proto__属性是一个访问器属性(一个getter函数和一个setter函数),暴露了通过塔访问的对象的内部[Prototype] (一个对象或null). __proto__属性也可以在对象文字定义中使用对象[[Prototype]]来创建,作为Object.create()的一个替代。

Object.assign():方法用于将所有可枚举的属性的值从一个或多个源对象复制到目标对象,它将返回目标对象。 描述:如果目标对象中的属性 有相同的键,则属性将被源中的属性覆盖,后来的属性将类似地覆盖早先的属性。

Object.create():方法会使用指定的原型对象及其属性去创建一个新的对象。 返回值:返回一个新对象,在指定原型对象上添加新属性后的新对象。 语法:Object.create(proto,[propertiesObject]) proto:一个对象,应该是新创建的对象原型。 [propertiesObject]:可选,该参数是一组属性与值,该对象的属性名称将是创建的对象的属性名称,值是属性描述符。

Object.defineProperties():方法直接在一个对象上定义新的属性或修改现有的属性,并返回该对象。 语法:Object.defineProperties(obj,props) obj:将要被添加或修改属性的对象。 props:该 对象的一个或多个键值对定义了将要为对象或修改的属性的具体配置。

Object.defineProperty():方法直接会在一个对象上定义一个新属性,或者人修改一个对象的现有属性,并返回这个对象。 语法:Object.defineProperty(obj,prop,descriptor) obj:需要被操作的目标对象。 prop:目标对象需要定义或修改属性的名称。 descriptor:被传递给函数的对象。

Object.entries():方法返回一个给定对象自己的可枚举属性[key,value]对的数组,数组中键值对的排列顺序和使用 for-in 循环遍历该对象返回的顺序一致。 语法:Object.entries(obj) obj:返回该对象由可枚举属性名和对应属性值组成的键值对。

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

Object.getOwnPropertyDescriptor():方法返回指定对象上有一个自有属性对应的属性描述符(自有属性值的是直接 赋予该对象的属性,不需要从原型链上进行查找的属性)。 语法:Object.getOwnPropertyDescriptor(obj,prop) obj:需要查找的目标对象 prop:目标对象内属性名称(String类型) 返回值:如果指定的属性存在于对象上,则返回其属性描述符对象(property,descriptor),否则返回undefined。

Object.getOwnPropertyDescriptor():方法用来获取一个对象的所有自身属性的描述符。 语法:Object.getOwnPropertyDescriptor(obj) obj:任意对象 返回值:所指定的所有自身属性的描述符,如果没有任何自身属性,则返回空对象。

+ Object.getOwnPropertyNames():方法返回一个由指定对象的所有自身属性名(包括不可枚举属性但不包括Symbo值作为名称的属性)组成的数组。 语法:Object.getOwnPropertyNames(obj) obj:一个对象,其自身的可枚举和不可枚举属性的名称被返回。 返回值:在给定对象上找到的属性对应的字符串数组。

Object.getOwnPropertySymbols():方法返回一个数组,该数组包含了指定对象自身的(非继承的)所有symbol属性键。 语法:Object.getOwnPropertySymbols(obj) obj:任意一个对象

Object.getPrototypeOf():方法返回指定对象的原型(即,内部[ [Prototype]]属性的值)。 语法:Object.getPrototypeOf(obj) obj:要返回其原型的对象 返回值:给定对象的原型。如果没有继承属性,则返回null。

Object.is():方法是确定两个值是否相同的值 语法:Object.is(value1,value2) value1:需要比较的第一个值 value2:需要比较的第二个值 返回值:一个布尔值指示参数是否相同的。

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

Object.isFrozen():方法判断一个对象是否被冻结frozen。 语法:Object.isFrozen(obj) obj:要被检测的对象

Object.isSealed():方法判断一个对象是否被密封(sealed). 语法:Object.isSealed(obj) obj:将要检测的对象 描述:如果这个对象是密封的,则返回true,否则返回false。密封对象是指那些不可扩展的,且所有自身属性都不可配置的(non-configurable)且属性不可删除的对象(其可以是可写的)。

Object .keys():方法会返回一个由一个给定对象的自身可,枚举属性组成的数组,数组中属性名是排序顺序和使用for-in循环遍历该对象返回的顺序一致(两者的主要区别是一个for-in循环还会枚举其原型链上的属性)。 语法:Object .keys(obj) obj:要返回其枚举自身属性的对象 返回值:一个表示给定对象的所有可枚举属性的字符串数组。

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

Object.seal():方法可以让一个对象密封,并返回密封后的对象。密封对象将会阻止向对象添加新的属性,并且会将 所有已有属性的可配置属性(coonfigurable)置为不可配置(false),即不可修改属性的描述或删除属性 ,但是可写性描述(writable)为可写(true)的属性的值仍然被 修改。 语法:Object.seal(obj) obj:将要被密封的对象

Object.setPrototypeOf():方法设置一个指定的对象的原型,(即内部[ [Prototype]]属性)到另一个对象或null。 语法:Object.setPrototypeOf(obj,prototype) obj:要设置其原型的对象 prototype:该对象的新原型(一个对象或null)。

Object.values():方法返回一个给定对象自己的所有可枚举属性值的数组,值的顺序与使用for-in循环的顺序相同(区别在于for-in循环枚举原型链中的属性)。 语法:Object.values(obj) obj:被返回可枚举属性值的对象。 返回值:一个包含对象自身的所有可枚举属性键值的数组

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 深入理解继承

    学习怎样创建对象是理解面向对象编程的第一步,第二步是理解继承。在传统的面向对象编程语言中,类继承其他类的属性。 然而,JS的继承方式与传统的面向对象编程语言不同...

    小周sri的码农
  • 深入理解原型

    只要我们定义一个函数,prototype作为函数的属性存在了,它的初始值是一个对象。

    小周sri的码农
  • Vue2.0-token权限处理

    token一种身份的验证,在大多数网站中,登录的时候都会携带token,去访问其他页面,token就想当于一种令牌。可以判断用户是否登录状态。本次页面是通过El...

    小周sri的码农
  • JS对象那些事儿

    JavaScript中几乎所有东西都是一个对象,除了六种基本类型数据 - null,undefined,strings,numbers,boolean和symb...

    前端知否
  • JavaScript对象

    版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。

    奋飛
  • js重修课[三]:对象

    这一章相对来说是部重头戏,看完之后才发现用了这么久的js,却很少有用真正OO的思想在写js代码……

    星回
  • JS原生引用类型解析1-Object类型

    (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

    love丁酥酥
  • 深入浅出Object.defineProperty()

    IT故事会
  • context:component-scan标签的use-default-filters属性的作用以及原理分析

      我们在Spring+SpringMVC+Mybatis的集成开发中,经常会遇到事务配置不起作用等问题,那么本文就来分析下出现这种问题可能的原因以及解决方式。

    阿豪聊干货
  • 广播通信

    广播:可以把数据发送给本地子网上的每个机器。 如果多个进程都发送广播数据,网络就会阻塞 对于UDP来说,存在一个特定的广播地址,255.255.255.255 ...

    用户1154259

扫码关注云+社区

领取腾讯云代金券