当前位置: 首页 > news >正文

天津定制网站建设免费获客平台

天津定制网站建设,免费获客平台,临沂建设局网站质量三监督,网站如何添加内容import引入的数据实际就是数据本身。 如果导出的是一个对象,该对象引入后被更改了,则会影响其他文件引入此对象 解释示例: // resources.js const obj {} export {obj} 当在a.js中import引入一个空对象obj,并且新增一个属性ob…

import引入的数据实际就是数据本身。

如果导出的是一个对象,该对象引入后被更改了,则会影响其他文件引入此对象

解释示例: 

// resources.js
const obj = {}
export {obj}

当在a.js中import引入一个空对象obj,并且新增一个属性obj.a='a' 

// a.js
import { obj } from "./resources.js";
obj.a = 'a'
console.log(obj);  // {a:'a'}

那在b.js中import使用obj时,obj不再是空对象,而是obj为{a:'a'} 

// b.js
import { obj } from "./resources.js";
console.log(obj);  // {a:'a'}

一般情况下都不希望原始数据被更改,那应该怎么办?

解决办法1:冻结对象

// resources.js
const obj = { key: 'value' };
// 冻结对象
Object.freeze(obj);
export { obj };

Object.freeze() 冻结的特性

  1. 不可写:冻结对象的属性不能被修改。
  2. 不可扩展:不能向冻结对象添加新属性。
  3. 不可配置:不能删除冻结对象的属性。
  4. 原型不可变:冻结对象的原型不能被修改。

Object.freeze只能冻结第一层属性,如果需要冻结更深层属性则需要递归

// 递归冻结
function deepFreeze(obj) {// 获取对象的所有属性名const propNames = Object.getOwnPropertyNames(obj);// 遍历所有属性,如果属性值是对象,则递归冻结for (const name of propNames) {const value = obj[name];if (value && typeof value === 'object') {deepFreeze(value);}}// 冻结对象return Object.freeze(obj);
}

判断对象是否被冻结Object.isFrozen()

const obj = { key: 'value' };
// 判断对象是否被冻结
console.log(Object.isFrozen(obj)); // 输出: false// 冻结对象
Object.freeze(obj);
// 再次判断对象是否被冻结
console.log(Object.isFrozen(obj)); // 输出: true

解决办法2:也可以使用和vue原理相同的代理去实现。

如果确实需要更改数据,需要进行深拷贝后再进行操作

// c.js
import { arr } from "./resources.js";
import { cloneDeep } from "lodash-es";
const arrNew = cloneDeep(arr)

http://www.khdw.cn/news/55673.html

相关文章:

  • 店名设计logo泉州seo培训
  • 怎么注册公司需要什么条件windows优化大师是什么
  • 做期货到哪个网站看新闻百度seo排名优化软件化
  • 广州公司建设网站软文写作是什么意思
  • 湘潭网站建设 搜搜磐石网络百度云资源搜索引擎入口
  • 亚马逊一般在哪些网站上做推广网站建设 网站制作
  • 纪检网站建设动态主题dw网页设计模板网站
  • 网站建设程序招聘手机卡顿优化软件
  • 购买域名后 可以做网站么软件开发培训机构
  • 市政府网站开发小程序模板
  • html5可以做网站吗农技推广
  • 南京电子商务网站建设合肥做网站公司哪家好
  • 网站建设 重庆汽车营销活动策划方案
  • 深圳外包公司网站广州专业网络推广公司
  • wordpress结构化数据插件优化设计三年级下册数学答案
  • 律师网站模版深圳百度seo整站
  • 检测网站名 注册seo流量排行榜神器
  • 学校网站搭建免费发布活动的平台
  • 衡水外贸网站建设免费建网页
  • o2o苗木网站建设一句简短走心文案
  • wordpress科技网站模板今日军事头条
  • 邯郸wap网站制作网站建设的意义和目的
  • 我是一条龙深圳百度seo代理
  • 淮安谁家做网站今日油价92汽油价格表
  • 网站建设banner官方推广平台
  • 莘县网站建设价格全网营销推广方式
  • 制作网站品牌公司简介微信推广广告在哪里做
  • 如何删除在凡科上做的网站百度搜索风云榜官网
  • 申请公司广州seo推广优化
  • 如何做网站免费推广制作网站需要什么软件