面向对象中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:被返回可枚举属性值的对象。
返回值:一个包含对象自身的所有可枚举属性键值的数组
面向对象中Object常用属性总结的更多相关文章
- JS面向对象组件(三)--面向对象中的常用属性和方法
图片的由来看下面: 1.hasOwnProperty:看是不是对象自身下面的属性 var arr = []; arr.num = ; Array.prototype.num2 = ; //所有的数组对 ...
- DataGrid中的常用属性
DataGrid中的常用属性 $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',w ...
- php面向对象中static静态属性和静态方法的调用
这篇文章主要介绍了php面向对象中static静态属性和静态方法的调用,实例分析了static静态属性和静态方法的原理与调用技巧,需要的朋友可以参考下 本文实例讲述了php中static静态属性和静态 ...
- JavaScript中Number常用属性和方法
title: JavaScript中Number常用属性和方法 toc: false date: 2018-10-13 12:31:42 Number.MAX_VALUE--1.79769313486 ...
- Android 中 GridView 常用属性合集
GridView的一些常用属性: android:numColumns=”auto_fit” //GridView的列数设置为自动 android:columnWidth=”90dp " / ...
- ES6中object对象属性
//////es5中定义对象属性要么字面量.要么点.要么[],变量与空格在这些方法中没有得到好的支持 /////在es6中可以这么定义: let w='www'; let obj1={w};//obj ...
- JS中Object常用的一些属性和方法
1⃣️属性 刚接触prototype.constructor.proto这三个玩意儿的时候,是不是有点儿傻傻分不清楚的感觉?下面来简单的说下... 举
- C#中gridView常用属性和技巧介绍
.隐藏最上面的GroupPanel gridView1.OptionsView.ShowGroupPanel=false; .得到当前选定记录某字段的值 sValue=Table.Rows[gridV ...
- DEV中gridview常用属性的设置
1.隐藏最上面的GroupPanel: gridView1.OptionsView.ShowGroupPanel=false; 2.得到当前选定记录某字段的值: sValue=Table.Rows[g ...
随机推荐
- spring-mvc 集成 activeMq 常见问题 + 解决方案 (仅供参考)
最近整合 spring-mvc 和 activeMq ,出现了几个异常,我把他记录下来,具体的原理分析我就不太会写了,只把详细情况和解决方案给出来,希望对各位老铁有所帮助! 问题1:缺少log4j的配 ...
- 二叉树遍历等基本操作(Java实现)
前中后序遍历递归实现+层序遍历: 树的结点类代码: public class TreeNode<Value extends Comparable<? super Value>> ...
- angularJS前台传list数组,后台springMVC接收数组
有时候需要在前台自定义对象,然后把对象封装在list中,在传送到后台,这样的思想也比较合理 1. 前台代码 $scope.saveScore = function () { $scope.userSc ...
- 常用的Oracle函数收集
to_char(); count(); avg(); sum(); to_date('时间','格式'); NVL(,); NVL2(); substr(); case when then ...
- 利用NPOI将EXCEL转换成HTML的C#实现
领导说想做一个网页打印功能,而且模板可以自定义,我考虑了三个方案,一是打印插件,二是在线 html 编辑器,三是 excel 模板,领导建议用的是打印插件的形式,我研究了一下,一个是需要下载安装,二个 ...
- Konckout第二个实例:数组数据类型双向绑定 -- 下拉select
自定义js做法: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...
- centos7 nginx安装/启动/进程状态/杀掉进程
1.安装 下载RPM:wget http://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.10.0-1.el7.ngx.x86_64.rpm ...
- C#图解 (类和继承)
所有的类都派生自object类 除了特殊的类object ,所有的类都是派生类,即使它们没有基类的规格说明.类object是唯一的非派生类,因为它是继承层次结构的基础. 一个类声明的基类规格说明只能有 ...
- 密码脱落 JAVA 蓝桥杯
密码脱落 X星球的考古学家发现了一批古代留下来的密码.这些密码是由A.B.C.D 四种植物的种子串成的序列.仔细分析发现,这些密码串当初应该是前后对称的(也就是我们说的镜像串).由于年代久远,其中许多 ...
- JavaScript(第九天)【正则表达式】
假设用户需要在HTML表单中填写姓名.地址.出生日期等.那么在将表单提交到服务器进一步处理前,JavaScript程序会检查表单以确认用户确实输入了信息并且这些信息是符合要求的. 一.什么是正则表 ...