Vue中定义全局变量与常量的各种方式详解,2024年最新前端线程池面试题
2401_84138890 2024-07-03 13:03:02 阅读 80
先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
正文
在入口文件中引入 global.js
1 | <code>import |
在项目中使用:
1 | <code>a |
发现报错了, a 并没有定义. 为什么?
这个涉及到模块作用域:
1 每一个 js 都相当于一个模块, 一个模块有自己的模块作用域.
意思就是说: 其中的变量方法, 都只在这个模块上面生效.
尝试2:
将变量放到 Vue.prototype 上面, 通过插件全局引入
创建 global.js, 这样写:
1 2 3 4 5 6 | <code>let a = 10;
|
在 入口文件中引入:
1 2 | <code>import G from
|
在项目中使用:
1 | <code>this |
的确可以, 但是这样的方式并不好, 在任何 this 不指向 Vue 的地方, 你都没有办法使用这个变量.
尝试3:
将变量放到 window 对象上面
创建 global.js
1 | <code>window.a = 10; |
在入口文件中引入
1 | <code>import |
在项目中使用:
1 | <code>a |
可行, 这种方式只要你能访问到 window 对象, 就能访问到这个变量.
有什么缺点吗?
暂时没有发现.
实际的场景分析:
在实际情景上, 你可能拥有一份配置, 比如说
声明
本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。