JS 中 原生方法 (四) --- Object
Javascript 中 str、 arr、date、obj 等常见的原生方法总结
本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了
总是绕道,真是羞耻悳boy
当然 本文阐述的主要类容 from MDN ( zh-cn )
Object(Javascript 自带属性和方法)
Object 自带属性
Object 自带一个 prototype 属性, 即为 Object.prototype, Object.prototype 本身也是一个对象, 也会有一些属性和方法。
- Object.prototype.writable 默认为 false
- Object.prototype.enumerable 默认为 false
- Object.prototype.configurable 默认为 fasle
- Object.prototype.constructor 指向 创建这个 对象的 构造函数
Object 的 prototype 中常用的方法
Object 自带一个 prototype 属性, 即为 Object.prototype, Object.prototype 本身也是一个对象, 也会有一些属性和方法。
- Object.prototype.hasOwnProperty() // 用于判断某对象是否包含某属性,且这歌属性 不是原型链上继承出来的。
- Object.prototype.isProperty() // 用于判断某对象,是否承载 本对象的 原型链中。
- Object.prototype.propertyIsEnumerable():判断指定属性是否可枚举。
- Object.prototype.toString():返回对象的字符串表示。
- Object.prototype.watch():给对象的某个属性增加监听
- Object.prototype.unwatch():移除对象某个属性的监听
- Object.prototype.valueOf():返回指定对象的原始值
Object 中自带 方法
- 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循环遍历该对象时返回的顺序一致。
- Object.freeze(obj):冻结一个对象,冻结指的是不能向这个对象添加新的属性,不能修改其已有属性的值,不能删除已有属性,以及不能修改该对象已有属性的可枚举性、可配置性、可写性。也就是说,这个对象永远是不可变的。该方法返回被冻结的对象。
- Object.getOwnPropertyDescriptor(obj, prop):返回指定对象上一个自有属性对应的属性描述符。
- Object.getOwnPropertyNames(obj):返回一个由指定对象的所有自身属性的属性名(包括不可枚举属性)组成的数组。
- 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循环遍历该对象时返回的顺序一致
- Object.preventExtensions(obj):让一个对象变的不可扩展,也就是永远不能再添加新的属性。
- Object.setPrototypeOf(obj, prototype):将一个指定的对象的原型设置为另一个对象或者null
- Object.values(obj):返回一个包含指定对象所有的可枚举属性值的数组,数组中的值顺序和使用for…in循环遍历的顺序一样。
以上介绍的 object 的相关内容 只是 一些概念上的东西,下面我们将一一对其进行 demo 的验证。
Object 自带属性 的 验证
另外 如果对于 Object.prototype 不太理解的 同学,可以查看本博客的上一篇文章, 其中详细的介绍了 prototype 和 __proto__ 以及 object 的 constructor 属性对象的 详细解释。
1.Object.prototype.writable
JS 中 原生方法 (四) --- Object的更多相关文章
- JS 中 原生方法 (三) --- Date 日期
本文也说主要阐释了 Javascript 中的基础类型和 引用类型的自带方法,那么熟悉的同学又可以绕道了 总是绕道,真是羞耻悳boy 当然 本文阐述的主要类容 from MDN ( zh-cn ) D ...
- JS 中 原生方法 (一) --- 字符串
目录 Javascript 中 str. arr.date.obj 等常见的原生方法总结 Javascript 中 str. arr.date.obj 等常见的原生方法总结 本文也说主要阐释了 Jav ...
- JS 中 原生方法 (二) --- 数组 (修---添加ES6新增)
const arr = [1, 2, 3, 5, 'a', 'b'] /** * * length * 这个只能被 称之为 数组的原生属性, 返回 一个 number * arr.length */ ...
- 原生JS中apply()方法的一个值得注意的用法
今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...
- js中this的四种使用方法
0x00:js中this的四种调用模式 1,方法调用模式 2,函数调用模式 3,构造器调用模式 4,apply.call.bind调用模式 0x01:第一种:方法调用模式 (也就是用.调用的)this ...
- 【温故知新】——原生js中常用的四种循环方式
一.引言 本文主要是利用一个例子,讲一下原生js中常用的四种循环方式的使用与区别: 实现效果: 在网页中弹出框输入0 网页输出“欢迎下次光临” 在网页中弹出框输入1 网页输出“查询中……” 在 ...
- 【转载】JS中bind方法与函数柯里化
原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...
- js中apply方法的使用
js中apply方法的使用 1.对象的继承,一般的做法是复制:Object.extend prototype.js的实现方式是: Object.extend = function(destinat ...
- JS高级面试题思路(装箱和拆箱、栈和堆、js中sort()方法、.js中Date对象中的getMounth() 需要注意的、开发中编码和解码使用场景有哪些)
1.装箱和拆箱: 装箱:把基本数据类型转化为对应的引用数据类型的操作: var num = 123 // num var objNum = new Num(123) // object console ...
随机推荐
- SQL ServerAlways Encrypted Data
SQL Server 提供了一个加密表上字段的功能, Encrypt Columns , 比如身份证号码,手机号码,银行账户等等敏感信息.
- ISP PIPLINE (十二) Sharpening
什么是sharpening? 不解释,从左到右为sharpen , 从右到左为blur. 简单理解为边缘增强,使得轮廓清晰.增强对比度. 如何进行sharpening? 下面是实际sharpen的过程 ...
- STM32L476RG_中断开发与实列
本程序的主要功能是实现按键控制灯的亮灭.当灯为灭的状态时按键按下点亮灯,当灯为亮的状态时按键按下熄灭灯,即实现灯的电平翻转操作. 按键扫描是利用 GPIO 下降中断,来监测按键按下动作.并加以消抖操作 ...
- 1.3 正则表达式和Python语言-1.3.5使用 search()在一个字符串中查找模式(搜索与匹配 的对比)
1.3.5 使用 search()在一个字符串中查找模式(搜索与匹配的对比) 其实,想要搜索的模式出现在一个字符串中间部分的概率,远大于出现在字符串起始部分的概率.这也就是 search()派上用场的 ...
- java字符串转json
针对不同jar包 一: import org.json.JSONObject; JSONObject jo = new JSONObject(new String(需要转换的字符串)); 二: imp ...
- [开源] C# 封装 银海医保的接口
Github 地址: https://github.com/zifeiniu/YinHaiYiBaoCSharpAPI C#Model封装 银海医保的接口 介绍 银海医保的接口我就不说了,很多家医院在 ...
- centos7安装可视化界面
使用VMWare安装好centos7镜像后开始安装centos桌面. 一.输入命令 yum groupinstall "GNOME Desktop" "Graphical ...
- JavaScript经典作用域问题(转载)
题目 var a = 10; function test(){ a = 100; console.log(a); console.log(this.a); var a; console.log(a); ...
- 2019年我的OKR(objectives and key results)目标与关键成果法
一.学习目标目标1:每天必背诵英语单词(可可英语App,百词斩App),掌握英语的基本从句语法,听力训练必备(英语四六级听力题,主要是为通过四六级考试)目标2:考研准备,高数(大一上下册),现代(大 ...
- javabean简介
Javabean简介 JavaBean是一个可重复使用的软件组件.实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean.由于javabean是 ...