1 回答
TA贡献1863条经验 获得超2个赞
您可以尝试在全局范围内使用全局变量,即在关闭之前声明它。这不是一个“干净”的解决方案,但最容易尝试查看其余代码是否正常工作的解决方案。
var globalData = {
finalpoints: 0,
finalcosts: 0
};
$(function(){
globalData.finalpoints = points;
globalData.finalcosts = costammount;
});
进而:
(function( detail, $, undefined, index) {
'use strict';
var fd= globalData;
})(fd, jQuery);
您还可以声明一些全局函数,并从外部文件调用它,而不是直接访问变量,以获取您需要的值。这样你就可以返回一个带有数据的对象,并在需要时向它添加/删除更多数据。
function getFinalData() {
return [globalData.finalpoints, globalData.finalcosts];
}
或者干脆不包装内联数据并且不使用全局变量:
function getFinalData() {
var finalpoints = points;
var finalcosts = costammount;
return [finalpoints, finalcosts];
}
进而:
(function( detail, $, undefined, index) {
'use strict';
var fd= getFinalData();
})(fd, jQuery);
之后,您可以尝试一些消息传递解决方案,如自定义事件(https://developer.mozilla.org/en-US/docs/Web/Guide/Events/Creating_and_triggering_events),或一些全局数据存储库,甚至https:/ /developer.mozilla.org/en-US/docs/Web/API/Window/localStorage(或 sessionStorage)等...取决于运行外部文件的范围和/或必须传递数据的频率。
请记住,内联代码必须在来自外部文件的代码之前运行,即在包含其他脚本之前将其内联。
添加回答
举报