描述bug
子应用内通过 var 全局声明赋值的变量,无法全局访问。
如何复现
在浏览器调试界面,运行环境切换到子应用,输入以下代码可以复现该场景。
(function(window, self, global, location) {
// 步骤1:变量提升 - 函数作用域内创建 appVar 变量(值为 undefined)
// var appVar;
// 步骤2:给函数作用域内的 appVar 赋值,而非给 window.appVar 赋值
var appVar = 'test';
// 步骤3:访问 window.appVar(伪 window 上无此属性),输出 undefined
console.log(window.appVar);
}).bind(window.__WUJIE.proxy)(
window.__WUJIE.proxy,
window.__WUJIE.proxy,
window.__WUJIE.proxy,
window.__WUJIE.proxyLocation,
);