xpage/javascript变量赋值中的奇怪行为

xpage/javascript变量赋值中的奇怪行为,javascript,xpages,Javascript,Xpages,我有这种奇怪的行为,我不确定是我误解了变量还是xpage的问题 我有一个文档,它有一个名为“hours”的字段,值为8。 这是我的简化代码 var xHrs = doc.getItemValueDouble('hours'); println (xHrs); // at this point, hours is 8 doc.replaceItemValue('hours', 0); return xHrs; // returns 0; 当我将文档值替换为0时,为什么xHrs返回到0?如何断

我有这种奇怪的行为,我不确定是我误解了变量还是xpage的问题

我有一个文档,它有一个名为“hours”的字段,值为8。 这是我的简化代码

var xHrs = doc.getItemValueDouble('hours');
println (xHrs);  // at this point, hours is 8
doc.replaceItemValue('hours', 0);
return xHrs;  // returns 0;
当我将文档值替换为0时,为什么xHrs返回到0?如何断开链接

提前感谢您的帮助:)


R.

我怀疑,在设置xHrs变量时,会创建一个返回“hours”字段值的函数表达式。更改字段的值,函数返回新值


我不确定如何以有效的方式打破这个链条,但是如果您创建第二个变量来保存xHrs值呢

我怀疑,在设置xHrs变量时会创建一个返回“hours”字段值的函数表达式。更改字段的值,函数返回新值


我不确定如何以有效的方式打破这个链条,但是如果您创建第二个变量来保存xHrs值呢

代码可能被多次执行

尝试用
${javascript:
而不是
{javascript:
包装代码

${javascript: 
var xHrs = doc.getItemValueDouble('hours');
doc.replaceItemValue('hours', 0);
return xHrs;  
}

代码将仅使用前面的$执行一次。

可能代码执行了多次

尝试用
${javascript:
而不是
{javascript:
包装代码

${javascript: 
var xHrs = doc.getItemValueDouble('hours');
doc.replaceItemValue('hours', 0);
return xHrs;  
}

代码将只使用前面的$执行一次。

我尝试使用第二个变量,但没有成功:(我尝试使用函数返回值,但也没有运气。奇怪的是,问题发生在另一个函数中调用的函数中。如果我将代码移动到父函数,则没有问题。我尝试使用第二个变量,但没有运气:(我尝试使用一个函数返回值,但也没有运气。奇怪的是,问题发生在另一个函数中调用的函数中。如果我将代码移动到父函数,则没有问题。哇……你说得对……过去3个小时我一直在绞尽脑汁,结果它被调用了两次。该死,我应该我发现了!!非常感谢你的帮助:)别忘了把我的答案标为答案!-)哇…你说得对..在过去的3个小时里我一直在绞尽脑汁,结果却被人打了两次电话。该死,我应该发现的!!非常感谢你的帮助:)别忘了把我的答案标为答案!-)