我在vue-cli项目中的main.js中var了一个变量a`
打印结果是找不到window下的a。然后我直接打印a
这样就能拿到a
在js中var的变量不都默认挂到window下么?这个a挂到谁的下面了?我还可以在vue中打印出最开始的那个window对象么?好蒙,求各位大大解惑。
我在vue-cli项目中的main.js中var了一个变量a`
打印结果是找不到window下的a。然后我直接打印a
这样就能拿到a
在js中var的变量不都默认挂到window下么?这个a挂到谁的下面了?我还可以在vue中打印出最开始的那个window对象么?好蒙,求各位大大解惑。
使用域的问题。如果你想全局定义变量。则在main.js文件里定义。
// main.js
// 全局变量
Vue.prototype.aa = () => {
return '111'
}
// 页面调用aa变量
// xxx.vue
// this.aa即可访问
created() {
console.log(this.aa, 'aa全局变量')
}
10 回答11.2k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
经过Webpack打包会将main.js当做一个模块,Webpack输出的js通过立即执行函数的技巧,有效避免模块内变量污染全局window空间。你这段代码最后会变成这样的: