test.js
let string = 'context'
export let obj = {
ll: 'haha',
output: (x) => {
console.log(x + string)
}
}
main.js
import {obj} from './test.js'
let string = 'local'
obj.output(''test scope:'')
Paste_Image.png
这里是想说明:
import
函数时会同时绑定函数的执行上下文;我们在main.js
里对string变量重新赋值,而output函数执行时获取到的string并没有被覆盖掉