javascript - 是否可以更改最初相同范围的变量范围?
问题描述
我想知道是否可以使变量的范围超出模块脚本标记,或者是否可以以某种方式将其导出并导入另一个脚本标记。
我当前的代码是这样的:
<script>
var variable1 = 'first variable :)';
var variable2 = 'second variable :)';
</script>
<script>
// i want to be able to access variable1 here, but not variable2
</script>
这样的事情可能吗?
我已经尝试过var
,和let
,但它们没有任何区别。我还尝试将第一个脚本作为模块,但后来我无法访问,并且(我认为)没有办法使用导入/导出。const
window.
variable1
注意:如果没有其他选项,我只想将脚本分成单独的文件。
解决方案
由于variable1
andvariable2
被定义在同一范围内(在顶层),因此无法在其他地方仅访问一个而不能访问另一个 - 除非您将第一个脚本标记更改为类似
<script>
var variable1 = 'first variable :)';
(() => {
var variable2 = 'second variable :)';
// do stuff with variable2
})();
// variable2 cannot be seen outside
</script>
如果没有其他选项,我只想将脚本分成单独的文件
如果您正在制作相当专业的东西并且要编写的代码不是微不足道的,那么您应该考虑这是一个非常好的选择。我强烈推荐它,它使编写和维护代码的过程变得非常容易。是的,确实需要一些时间来弄清楚并习惯,但这是值得的,IMO。
推荐阅读
- json - 在 Delphi 中解析 JSON 数组
- database - 如何在数据库中构建/处理付费功能
- php - 无法在 Symfony 中使用 Set 方法访问私有属性
- python - Django 管理命令无法正确导入
- python - 如何从 view.py 向模板发送警报或消息?
- html - 在悬停时调整卡片大小会使下面的 div 跳转
- javascript - 如何计算增加值的线性(非罪)输出
- javascript - 如何将json对象数组准备为d3层次树结构
- typescript - DevServer contentBase 弃用警告和标头内容中的无效字符
- html - 如何将幻灯片指示器放在左上角