理解 nodejs import 对变量的影响

有四个js文件

a.js 包含或引用了 a1.js,a2.js
a1.js 和 a2.js 都包含 b.js

执行a的结果是怎样的呢? 对全局变量的影响是怎样的呢?

结论

如果本页脚本 包含(import) 其他脚本
先执行import 中的脚本
然后执行本页脚本

类似于树结构,先执行子节点,再执行父节点的脚本

测试脚本

  • a.js
global.b.bb=22
import a1 from './a_1.js'
console.log("a0",a1)
import a2 from './a_2.js'
console.log("a.1",a1)
console.log("a.2",a2)
  • a_1.js
import b from './b.js'
console.log("a1.1",b)
b["bb"]="123"
console.log("a1.2",b)
let c=b
export default c
  • a_2.js
import b from './b.js'
console.log("a2.1",b)
b["bb"]="345"
console.log("a2.2",b)
let c=b
export default c
  • b.js
global.b={bb:"1"}
let c=global.b
export default c
  • 输出结果
a1.1 { bb: '1' }
a1.2 { bb: '123' }
a2.1 { bb: '123' }
a2.2 { bb: '345' }
a0 { bb: 22 }
a.1 { bb: 22 }
a.2 { bb: 22 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值