JavaScript 需要帮助使变量全局化
javascript need help making variable global
在我的代码中,有一个值我试图被称为currentParameter.value,我需要将其全局化,以便我可以在另一个页面上使用它。由于某种原因,我无法使currentParameter.value全局可用。每当我尝试对它发出警报时,我都会被定义。我不知道是什么原因造成的,我认为任何事情都可以全球化。我的代码如下。
function determineTemplate(customInt) {
var templateArray = [];
var hasDropdown = false;
for(var i=0,maxI=customInt.length;i<maxI;i+=1) {
var Interaction = customInt[i];
for(var j=0,maxJ=Interaction.parameterSet.param.length;j<maxJ;j+=1) {
var currentParameter = Interaction.parameterSet.param[j];
if (currentParameter.name === 'INTERACTION-TYPE') {
if (currentParameter.value !== '_itemData') {
var intTemplate = {
'multipleChoice': {"type" : "04719d91", "data" : Interaction, "id" : Interaction.id},
'dragDrop': {"type" : "94ed89c0", "data" : Interaction, "id" : Interaction.id},
'dropdown': {"type" : "8a01a4d0", "data" : Interaction, "id" : Interaction.id},
'select': {"type" : "b1fb3531", "data" : Interaction, "id" : Interaction.id}
};
var currentTemp = intTemplate[currentParameter.value];
if (currentTemplate !== undefined) {
if (currentParameter.value === 'dropdown') {
if (!hasDropdown) {
templateArray.push(currentTemplate);
hasDropdown = true;
}
} else {
templateArray.push(currentTemp);
}
}
}
}
}
};
return templateArray;
};
要使其全局化,您只需更改此行:
var currentParameter = Interaction.parameterSet.param[j];
自
window.currentParameter = Interaction.parameterSet.param[j];
但是,您将无法在另一个页面中使用window
因为页面也会更改。
尝试使用
window.templateArray
而不是
var templateArray
这将在窗口范围内声明变量,本质上是全局的。
您还可以在函数作用域之外声明变量。 例如:
var templateArray = [];
function determineTemplate(customInt) {
也许我误解了,但是如果您尝试在页面之间传递变量,则无法使用全局变量执行此操作。 相反,您需要通过 url 或 cookie 传递数据,或者让服务器以其他方式持久化数据,并在加载时将其发送到页面。
我认为全局变量是邪恶的,但如果你想currentParameter.value
全球化,这里有两种方法浮现在脑海中。
1)在全局范围内定义currentParameter
,并在函数中使用它
2)您可以将其添加到全局对象中,并调用该对象。
window.value= currentParameter.value
相关文章:
- 全局变量和全局对象的属性之间有什么区别吗
- delete关键字在全局变量上的不同行为
- 在javascript函数中设置全局变量
- 如何将getJson的响应保存在全局变量中
- 从Javascript方法返回全局变量
- 访问jsrender模板中的全局javascript变量并更新它
- 在这种情况下,如何使变量全局可访问
- 尝试使在专用作用域中动态更改的变量全局化
- 如何从函数节点内部使变量全局.js
- 如何在phoneGap api中使javascript变量全局化
- 如何在phoneGap api中使javascript变量全局化
- JavaScript 需要帮助使变量全局化
- 当javascript中的条件变量(全局变量)发生变化时,停止循环
- 通过窗口方法使变量全局不起作用
- 如何声明局部变量全局
- 如何使javascript变量全局,并将其传递到函数ajax
- Javascript作用域变量(全局/局部)
- 在JavaScript中使数组变量全局化
- Javascript不能使变量全局化
- 在iAd Producer中设置变量全局