修复在子对象中修改this.$global.version的问题

A Mathematical Framework for Transformer Circuits—(一) transformer数学理解理论 阅读详情

目前我们的代码结构:
God(这是一个母对象)专门负责:1、加工传入的业务对象。2、把重要属性让业务对象可访问。3、把一些属性密封起来

业务子对象,约定通用的data()方法和methods子对象。
可以有n个业务子对象。

这样做的目的?让我们的业务对象具备较强的可编程性、可扩展性、规范性。

前面我们完成了子对象中通过this.$global来访问母对象God中的属性,但是这其中还有一个问题,就是$global可以在子对象中被修改:

    methods:{
        show(){
            this.$global.version = '2.0';
            alert(this.$global.version);
        }
    }

比如这样被修改了。

现在我们来解决这个问题

修改母对象God的init()方法:

    init(){
        // 把God对象的这2个属性的enumerable设置为false
        // Object.defineProperty(this,'init',{enumerable:false});
        // Object.defineProperty(this,'extends',{enumerable:false});

        // 批量设置方法
        Object.defineProperties(this,{
            'init':{enumerable:false}, // 设置属性不可枚举
            'extends':{enumerable:false}, // 设置属性不可枚举
        });

        var keys = Object.keys(this); // 列举出this当前是所有属性

        this.$global = {}; // 创建一个新对象 叫做 $global
        keys.forEach((key)=>{
            this.$global[key] = this[key];
        });

        Object.freeze(this.$global);  // 冻结对象
    }
C# 实现鼠标轨迹录制与回放自动化功能(附源码) 通过本文的介绍,相信大家已经掌握了鼠标轨迹录制与回放功能的实现方式。该功能在自动化测试和重复性工作中具有重要应用价值。后续可以进一步优化,增加更多扩展功能,形成一个完整的自动化工具。 阅读详情

相关推荐

antdv-<a-form>的使用

是 Ant Design Vue 中用于创建表单的组件,提供了一种结构化的方式来收集用户输入。它支持多种布局、验证、数据绑定等功能,非常适合用于处理用户输入和提交数据。

2302_81312344的博客 2617

vue设置全局变量:让你的数据无处不在!

vue设置全局变量:让你的数据无处不在!

希望看完文章的你能够带着答案离开。 2万+

Windows 10 本地开发环境:用 ShardingSphere-Proxy 5.4.1 快速搭建 MySQL 分库分表测试环境

本文详细介绍了在Windows 10系统中使用ShardingSphere-Proxy 5.4.1快速搭建MySQL分库分表测试环境的完整教程。从环境准备、MySQL配置到ShardingSphere-Proxy的核心设置,逐步指导开发者完成本地开发环境的搭建,并提供了分片策略详解和常见问题排查方法,帮助开发者高效验证分库分表功能。

weixin_28366053的博客 214

Vue2 定义全局使用的变量

Vue 定义全局使用的变量 一、定义全局变量文件 定义一个盛放全局变量的文件 global.js const baseURL = 'http://kylebing.cn/starve'; export default { baseURL } 二、引用并设置全局变量 在 main.js 中引用这个文件,并设置 prototype 属性, 这里的变量名并不一定是 $ 开头的,只要是正常的变量名就可以,这里使用 $ 只是为了好区分 main.js import GLOBAL from "../globa

学习笔记 5853

主流双目相机技术参数横向评测:从ZED到国产新锐

本文对主流双目相机技术参数进行了横向评测,涵盖ZED、Bumblebee等国际品牌及国产新锐产品。详细分析了分辨率、帧率、视场角等关键参数,并针对机器人导航、AR/VR交互、工业检测等场景提供选型建议。特别推荐ZED相机在科研领域的成熟应用,以及国产方案在长基线设计和主动双目技术上的创新突破。

weixin_33670786的博客 317

Foxglove 介绍以及入门使用教程

Foxglove 是由Foxglove 工作室开发的一套工具集,包括和等组件。跨平台支持:可以在 Windows、macOS 和 Linux 上运行。多协议兼容:支持 ROS、ROS 2、CAN 数据以及其他自定义协议。丰富的可视化功能:可以绘制点云、轨迹、激光雷达数据、IMU 数据等。实时与离线模式:既可以实时监控机器人状态,也可以加载和回放记录的数据文件。Foxglove 的 3D 视图允许你以三维方式查看机器人的运动轨迹、传感器数据和其他几何信息。你可以旋转、缩放和平移视图以获得更好的观察角度。

zolty 1万+

Node.js中全局对象global,module及this指向的一些理解

global是全局属性,凌驾于单独的模块之上,他的属性各个模块都可以访问到,不需要使用module.exports暴露刚才提到global是全局对象,那单个模块的顶级对象是什么,没错,就是module;module包含了当前模块的所有信息,而module.exports指的是当前文档所暴露的内容。 这里打印结果是true,this指向了模块的exports,而不是整个模块,姑且理解为方便与其他模块交互吧,刨除其...

前端成长之路 2074

深入解析fio Benchmark测试:从源码到实践

本文深入解析fio Benchmark测试工具,从入门指南到源码架构分析,详细介绍了其核心模块、关键数据结构和I/O处理机制。通过实战案例展示如何优化存储性能测试,包括内存对齐、多线程调优等技巧,帮助开发者充分利用fio进行精准的存储性能评估。

weixin_42563415的博客 206

vue设置全局变量,添加全局js方法和vuex的简单使用

添加 global.js 注册到vue ,在main.js里面 importGlofrom'@/global.js' Vue.prototype.GLOBAL=Glo; 全局使用:this.GLOBAL.devip vuex的简单使用: 安装,然后注册到vue里面 import Vue from 'vue' import Vuex from 'vuex' Vue.us...

不忘初心 2782

[EDA系列]二、Altium Designer异形封装实战:从CAD导入到PCB布局

本文详细介绍了在Altium Designer中实现异形封装的实战流程。通过五步核心操作,将CAD软件中的复杂二维轮廓精准导入并转换为可直接用于PCB布局的智能封装,解决了不规则形状铺铜的难题,特别适用于射频天线、传感器外壳等对机械尺寸有严苛要求的设计场景。

weixin_29194817的博客 142

Matlab2024a安装教程

点击【下一步】。8.选择解压后的【MATLAB R2024a(64bit)】文件夹中【Crack】文件夹下的【licese.lic】,点击【打开】。

qq_64359046的博客 4793

在vue项目中 如何定义全局变量 全局函数

写在前面: 如题,在项目中,经常有些函数和变量是需要复用,比如说网站服务器地址,从后台拿到的:用户的登录token,用户的地址信息等,这时候就需要设置一波全局变量和全局函数,这两个设置不太难,而且有一些共通之处,可能有一些朋友对此不太了解,所以随便写出来分享一波。有需要的朋友可以做一下参考,喜欢的可以点波赞,或者关注一下,希望可以帮到大家。 本文首发于我的个人blog:obkoro1.com ...

weixin_34247032的博客 1044

【论文复现】——基于欧式聚类的车载点云道路提取

针对车载激光点云道路信息提取的问题,提出了一种基于欧式聚类的道路提取方法。首先通过统计滤波去除噪点以免对后续处理结果产生影响,然后用坡度滤波去除路坎点,使道路边界与人行道、绿化带等与路坎相连的地物形成10~25 cm的高程阶跃,最后用欧式聚类将路面点云与其他地物点云聚类为一簇或多簇并保留道路簇,从而实现道路点云的精确提取。

点云侠的博客 1133

el-upload组件上传单/多张图片

show-file-list="false" 不允许多张图片显示,只一张。list-type="picture-card" 照片墙显示。list-type="picture-card" 照片墙格式。:limit="9" 限制上传的图片张数为9。action 图片上传后台请求地址(必填)before-upload 图片上传前。on-success 图片上传成功时候。1.创建Global.vue的文件。on-remove 图片删除时候。2.main.js文件中引入。,v-if控制是新增还是修改。

m0_61601708的博客 7333

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

vue 怎么全局到入常量_在vue项目中 如何定义全局变量 全局函数

原理:设置一个专用的的全局变量模块文件,模块里面定义一些变量初始状态,用export default 暴露出去,在main.js里面使用Vue.prototype挂载到vue实例上面或者在其它地方需要使用时,引入该模块便可。全局变量模块文件:Global.vue文件:const serverSrc='www.baidu.com';const token='12345678';const hasEn...

weixin_39605278的博客 1324

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

vue 设置全局变量、指定请求的 baseurl

1. 安装 axios: npm install axios --save-dev 2. 新建一个 Base.vue 文件,书写内容如下: <script>   const BASE_URL = 'http://xx.xx.xx.xx'; // 设置全局 URL   export default{     BASE_URL   } </script>   3. 在 m...

zds456的博客 5561

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

vue全局变量 页面刷新时数据丢失问题

页面刷新后vue全局变量数据丢失 在开发中,我们需要将一些数据存到全局变量中,如用户的用户名等,便于页面展示,保存从服务器发送请求返回的数据,以避免在不同组件发送相同请求时,重复请求服务器。 方法一:保存在js文件中,然后全局引入挂载 common.js:(typeOptions为需要的全局变量) var typeOptions = [] const testConst = '我是常量' ex...

luxurie的小窝 7580

vue使用ajax提交数据,vue使用ajax请求后台数据的方法

vue使用ajax请求后台数据的方法发布时间:2020-10-15 16:54:41来源:亿速云阅读:108作者:栢白这篇文章主要介绍了vue使用ajax请求后台数据的方法,具有一定借鉴价值,需要的朋友可以参考下。下面就和我一起来看看吧。vue本身它是不支持直接发送ajax请求的,需要用到axios(一个基于promise的HTTP库,可以用在浏览器和node.js中)第一步:Axios的安装和引...

weixin_32965939的博客 2293

vue定义global.js,挂载在vue原型上面使用

  首先在src目录下创建global目录,在global目录下创建index.js。 export default { install(Vue) { var that = this // 1. 添加全局方法或属性 // ue.global = this // 2. 添加全局资源 // 3. 注入组件 Vue.m...

weixin_30295091的博客 2276

js中在node环境中用this指向global时全局变量的正确声明

自己遇到的bug,希望对你们有帮助 //varname='zs'; name='zs';//node环境中,不能用var声明,不然不能挂载(保存)在global中 varfoo=function(){ varname='ls'; console.log(this.name); } varobj={ name:"terry", foo } foo();//全局变量zs obj.foo();//对象变量terry console....

南风花海的博客 463

对JS中global、window、document、this区别的理解

本文章综合了很多地方对global和widow区别的解释,我加以挑选再结合我自己的理解以及遇到的问题写出来的。可能比较乱,但是全部看完或许对global和window对象的理解还是有帮助的。 一个关于window和global区别的链接,可以更方便去理解:https://segmentfault.com/q/1010000003054375 关于定义和声明的区别:http://

lzh_15617663141的博客 1万+

vue之:global全局变量

https://blog.csdn.net/qq_30669833/article/details/81706217

PiscesGirl的博客 1万+

javascript中遇到this指针问题的说明

问题描述 在Vue框架中写了一个global.vue用来存放Vue文件中的全局变量,或者是一种代替Vue本身store的方法,在global.vue中一开始写了一个函数如下: function panAndZoom (point) { let that = this this.map.panTo(point) setTimeout(function () { ...

weixin_43977647的博客 278

Node里window=this和global区别以及webpack

Node里window=this & window=global差别 console.log(global) 输出: <ref *1> Object [global] { global: [Circular *1], clearInterval: [Function: clearInterval], clearTimeout: [Function: clearTimeout], setInterval: [Function: se

weixin_44154094的博客 1517

uniapp页面传值总结

一、uni.navigateTo传值 (1),直接传一个数字 (2),传一个变量 (3),传的值过长时 (4),传两个及以上变量 (5),地址是变量时传值 pay.vue页面接收时 二、通过缓存 uni.setStorageSync(‘key’, value); //存 uni.getStorageSync(‘key’); //取 uni.removeStorageSync(‘key’) //移除三,组件之间 子组件向父组件传值 this.$emit(“function”,param)..........

小哆啦小可爱的博客 1万+

什么是 globalThis,为什么要学会使用它?

JS 语言越来越多被用于各种环境中。除了最常见的浏览器之外,它还可以在服务器、智能手机甚至机器人硬件上运行。每个环境都有其自己的对象模型,并提供了不同的语法来访问全局对象。例如,在 We...

粉丝们务必加入微信粉丝群 1万+
上一篇: 对象的"可枚举"到底有啥用?
下一篇: Generator 函数 - 基本概念
学习笔记666
博客等级 码龄12年 1047粉丝 1369原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值