• javascript自带一个window全局变量,alert,console等方法存在于全局变量中。 若定义变量不使用var,let,const,那么该变量默认为一个全局变量

a = 8;
console.log(window.a);

优点

  1. 全局可访问:通过将变量赋值给 window 对象,可以将其变成全局变量,从而在整个页面的任何地方都可以直接访问该变量。这在需要在不同的模块或函数中共享数据时非常方便。

  2. 简化命名空间:通过将变量赋值给 window 对象,可以减少全局命名空间的复杂性。避免了在多个模块中使用长命名空间来引用相同的变量。

  3. 调试和测试:在调试和测试过程中,通过将变量赋值给 window 对象,可以在开发者工具的控制台中直接访问变量,方便调试和测试。

缺点

  1. 全局污染:将变量设置为全局变量可能导致全局污染,特别是在大型项目中。全局变量的增加会增加可能的命名冲突和不可预测的行为。

  2. 安全风险:使用全局变量存在一定的安全风险。恶意代码可能会利用全局变量进行攻击或篡改数据。

  3. 可维护性:过多的全局变量会增加代码的复杂性和维护难度。代码的可读性和可维护性可能会降低,因为全局变量的来源和使用不明确。

posted on 2023-08-18 15:19  awite  阅读(55)  评论(0编辑  收藏  举报  来源