嗯,这应该是一个简单的问题,但现在已经让我头疼了两天了。 我有以下内容:
<a href="javascript:void();" onclick="return manage(id, value)">Add or remove</a>
管理功能如下:
function manage(id, param){
var my_value;
alert(my_value); // this keeps giving me undefined. I want it to hold the last value of the param
if(param!=0){ // value not empty, we are removing
my_value = remValue(id, param);
}
else if(param==''){ // value is empty, so we are adding
my_value = addValue(id, param);
}
alert(my_value);
}
function addValue(id, param){
param += 1;
return param;
}
function remValue(id, param){
param -= 1;
return param;
}
整个想法是在添加或删除操作后将param
的值分配给my_value
。请问有什么帮助吗?
最佳答案
通过在函数内定义 var my_value;
,您可以在每次函数调用时将变量重新声明为未定义的值。它仅适用于该调用,并且不会持续存在。
如果您需要它保留值,您只需在更高的范围内使用 var
声明它即可:
// Declare outside the function...
var my_value;
function manage(id, param){
alert(my_value); // Should be undefined on first call,
// or hold previous value on subsequent calls after assignment
if(param!=0){ // value not empty, we are removing
my_value = remValue(id, param);
}
else if(param==''){ // value is empty, so we are adding
my_value = addValue(id, param);
}
alert(my_value);
}
关于javascript - 动态更改 JavaScript 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12184326/