iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >简述冻结JS对象方法技术
  • 519
分享到

简述冻结JS对象方法技术

2024-04-02 19:04:59 519人浏览 八月长安
摘要

目录冰封的美人——冻结js对象JS对象Object.freeze不可冻结的对象Object.sealObject.preventExtensions冰封的美人

冰封的美人——冻结JS对象

看到这个标题你可能会很奇怪冻结JS对象,啊!又触碰到我的知识盲区了,那么首先来了解一下JS对象

JS对象

js对象是普通对象,键值对方式,且其属性不加引号,表示方法如下,对象内有对象属性,对象方法和普通的对象概念相同

var obj = {
    name : "cxy",
    age : "18"
}

而我们修改对象的属性,仅仅需要obj.name = "juejin"即可console.log(obj.name)打印出来即可看到修改效果,那么冻结又是什么意思呢?我们来学习一下Object.freeze()

Object.freeze

翻译下freeze的意思,由此得知freeze()是用来冻结对象的方法,我们只需要将我们要冻结的目标对象作为参数传递给他,那么该对象就会被冻结

const iceObj = Object.freeze(obj)

这样iceObj就是被冻结的对象,那么冻结又是什么概念呢?我们修改一下对象的age属性iceObj.age = "19",然后再打印一下console.log(iceObj.age)我们会发现,omyGod,依旧是18,不愧是永远十八岁的冰封美人,除此之外还有一个检验对象冻结的方法即Object.isFrozen,返回值为布尔值

不可冻结的对象

又有新的问题了,难不成所有的对象都可以被冻结吗?nonono,Object.freeze()不可冻结嵌套对象,依旧是那个对象,但是有一个son属性本身又是一个对象

var obj = {
    name : "cxy",
    age : "18"
    son : {
    name : "son",
    age : "1"
    }
}

我们来修改并打印一下son中的name属性,会发现其属性值是修改后的值,所以说Object.freeze()并不是所有对象都能冻住的,当然其object.freeze()还可以冻结数组,大家可以定义一个数组,冻结之后,使用下标修改看看效果如何,除此之外还有一共冻结方法即object.seal()它和object.freeze()有差别,我们来看一下

Object.seal

var obj = {
    name : "cxy",
    age : "18"
}
const iceObj = Object.seal(obj)
iceObj.name = "juejin"
delete iceObj.age
console.log(iceObj)

依旧是那个对象,我们先使用object.seal()冻结再执行修改name属性,删除age属性的操作,最后打印我们会发现name属性成功被修改,但是age属性没有被删除,这就是和freeze()不一样的地方,即可以修改属性值,但是不可以删除属性值,当然同样它还有一个检验对象冻结的方法即Object.isSealed,返回值为布尔值,最后还有一种冻结的方法即Object.preventExtensions()

Object.preventExtensions

Object.preventExtensions是冻结对象增加属性的能力

var obj = {
    name : "cxy",
    age : "18"
}
const iceObj = Object.preventExtensions(obj)
iceObj.weight = "180"
console.log(iceObj)

上述代码是为obj新增weight属性,但是打印出来后并没有出现该属性,说明对象添加属性方法被冻结了。

到此这篇关于简述冻结JS对象方法技术的文章就介绍到这了,更多相关冻结JS对象内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 简述冻结JS对象方法技术

本文链接: https://www.lsjlt.com/news/154265.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 简述冻结JS对象方法技术
    目录冰封的美人——冻结JS对象JS对象Object.freeze不可冻结的对象Object.sealObject.preventExtensions冰封的美人...
    99+
    2024-04-02
  • python中魔术方法简述
    魔术方法:***实例化:new :实例化一个对象 方法很少使用,一般使用return super().))new(cls)基类ibject方法来创建实例并返回。 hash:返回一个整数,如果定义这个方法该类的实例就可hash。eq:...
    99+
    2023-01-31
    魔术 方法 python
  • js中对象深拷贝方法总结
    快速克隆(存在数据丢失问题) – JSON.parse/stringify 如果不在对象中使用Date、functions、undefined、Infinity、RegE...
    99+
    2022-11-13
    js对象深拷贝方法 js对象快速克隆 js原生实现对象深拷贝方法
  • PHP5的对象重载技术和方法重载举例
    这篇文章主要介绍“PHP5的对象重载技术和方法重载举例”,在日常操作中,相信很多人在PHP5的对象重载技术和方法重载举例问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”PHP5的对象重载技术和方法重载举例”的疑...
    99+
    2023-06-17
  • 二维码开发技术:PHP的对象方法实现
    二维码(QR code)是一种二维条码,可以存储更多的信息。它已经成为现代生活中不可或缺的一部分,例如支付、扫码领券、扫码登录等。在本文中,我们将探讨如何使用PHP的对象方法来实现二维码开发技术。 PHP QR Code库 PHP Q...
    99+
    2023-07-08
    二维码 开发技术 对象
  • Java对象池技术的原理及其实现方法
    这篇文章主要讲解了“Java对象池技术的原理及其实现方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Java对象池技术的原理及其实现方法”吧!摘 要 :本文在分析对象池技术基本原理的基础上...
    99+
    2023-06-03
  • js获取对象属性值的两种方法使用总结
    场景:已知对象的某属性,我们需要获取对象中的属性值 js获取对象属性值的方法 通过 . 获取通过 [ ] 获取 let person = { ...
    99+
    2023-05-18
    js获取对象属性值的方法 js怎么取对象的属性 js获取属性
  • Java 开发技术中,打包对象到底有哪些方法?
    在 Java 开发中,打包对象是非常常见的操作。打包对象是将多个类文件打包成一个文件,方便在开发、测试和部署过程中使用。在这篇文章中,我们将探讨 Java 开发技术中打包对象的方法。 Jar 打包 Jar 是 Java Archive ...
    99+
    2023-07-20
    开发技术 打包 对象
  • js字符串转换为对象格式的三种方法总结
    目录背景:JSON.parse()eval() 函数new Function()总结 背景: js字符串转换为对象格式,一般都会想到JSON.parse(),但数据不是标准...
    99+
    2022-12-08
    js字符串转换成对象 js字符串转为对象 js字符串转对象
  • js的math对象方法实例介绍
    本篇内容主要讲解“js的math对象方法实例介绍”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“js的math对象方法实例介绍”吧!Math对象方法//返回最大值...
    99+
    2024-04-02
  • JS创建对象的方法有哪些
    这篇文章将为大家详细讲解有关JS创建对象的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。第一种:Object构造函数创建var Person ...
    99+
    2024-04-02
  • JS实现判断对象是否为空对象的5种方法
    1.将json对象转化为json字符串,再判断该字符串是否为"{}" var data = {}; var b = (JSON.stringify(data) == "{}")...
    99+
    2024-04-02
  • JavaScript中对象属性的简写方法
    这篇文章给大家分享的是有关JavaScript中对象属性的简写方法的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。对象属性简写如果属性名与key名相同,则可以采用ES6的方法:简写:感谢各位的阅读!关于“JavaS...
    99+
    2023-06-27
  • JS中遍历对象的方法有哪些
    本篇内容主要讲解“JS中遍历对象的方法有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS中遍历对象的方法有哪些”吧! 1 简介对象是在编程中最常...
    99+
    2024-04-02
  • JS判断空对象的方法有哪些
    小编给大家分享一下JS判断空对象的方法有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Object.keysObject.keys()方法是以对象为参数,返回...
    99+
    2023-06-29
  • js 创建对象的多种方式与优缺点小结
    目录早期创建方式工厂模式构造函数模式构造函数模式优化原型模式构造函数和原型模式组合动态原型模式寄生构造函数模式稳妥构造函数模式早期创建方式 var obj = new Objec...
    99+
    2024-04-02
  • es6 js 匹配两个数组对象的方法
    判断两个数组用的value是否相等 this.list = [ { user_type: 0, u...
    99+
    2024-04-02
  • JS对象数组去重的方法有哪些
    本篇内容介绍了“JS对象数组去重的方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!目录一.去重前后数据对比二.使用方法使用filte...
    99+
    2023-06-20
  • JavaScript对象合并的几种方法小结
    目录1、使用 Object.assign() 方法2、使用解构赋值语法3、使用 Lodash 中的 merge() 方法4、for-in 循环 + 手动赋值5、使用 Object.k...
    99+
    2023-02-17
    JavaScript 对象合并
  • Java 对象开发技术中函数的常见问题及解决方法
    Java 是一种面向对象的编程语言,因此,在 Java 的开发中,对于对象的处理是非常重要的。而对象的处理中,函数的使用更是必不可少的。然而,在 Java 对象开发技术中,函数也存在着一些常见问题,本文将介绍这些问题,并给出相应的解决方法...
    99+
    2023-07-05
    对象 开发技术 函数
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作