前端模块化 | 多人开发多个js集中到一个项目中会发生什么问题

假设公司里面有三个人,小王,小红,小明

小王是组长,开发了main.js

小红开发了bbb.js,小明开发了aaa.js

--------aaa.js--------

var name = '小明'
var flag = true

function sum(num1,num2){
	return num1+num2
}
if(flag) {
	console.log(sum(10,20))
	console.log(name)
}

--------bbb.js--------
var name = '小红'
var flag = false
console.log(flag)

过了几天,小明又开发了一个mmm.js,小明记得自己定义过flag属性,于是在mmm.js中写了下面这个代码

if(flag){
	console.log('小明是天才')
}
console.log(name)

在index.html中引入四个js文件

就会打印出上面那副截图

为什么没有打印 小明是天才呢 flag是true啊,这是因为小红也定义了flag,改掉了。而且mmm.js中的name打印的也不是小明,而是小红,这是为什么呢?

大概是由于引入的顺序所造成的吧,先引入的aaa.js,后引入的bbb.js,小红改掉了name和flag

所以多个人开发js时,会出现了一个很大的问题,那就是全局变量同名。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值