JavaScript中为什么不推荐使用全局变量!

全局变量在JavaScript中可能导致命名冲突和全局污染,尤其是在多人开发项目中。为了解决这个问题,推荐使用局部变量,如通过函数作用域限制变量的作用范围。var关键字用于声明变量并防止其成为全局变量,同时,var声明的变量不可通过delete删除,而未使用var声明的全局变量则可以。
摘要由CSDN通过智能技术生成
var variable = "hello World"
console.log(variable)
console.log(window.variable)
console.log(this.variable);
console.log(window["variable"])

variable是在全局中声明的一个变量,这玩意的好处就是你可以在任何地方访问到他。

 

但是这样会造成的后果是如果你是单人开发还好,你会知道你已经声明过他了,前提是你使用的插件内也没有声明过这个变量,

要不然就是你的插件GG,要不然就是你的调用GG,如果是多人开发的话!!!那就更舒服了,你想想因为一个变量,然后自己看

自己的代码找了很久没问题啊!!对,大家写的都是没有问题的,但是,合在一起那就出问题了,鬼知道谁用了谁的变量。这就是所谓的全局污染咯,

全局命名空间:解释一下这个东西,相当于你有一堆娃,都是住在一个房子里面,这个房子就叫命名空间,那你现在该起名字了,

然而这堆娃里面还有别人的娃,你有一个娃叫variable,别人也有一个娃叫variable,这叫命名冲突!! 好了,现在出问题了吧,那

就需要想办法解决嘛,我的解决办法就是,让他们成为邻居而不是一家人住在同一个房子里。

function neighbor() {
    var variable = "h
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值