我想在我的函数之前声明一个或多个变量,但是当我这样做时,函数无法工作。我理解在函数内声明的变量是仅在函数范围内起作用的局部变量。为什么我的变量在我的函数之外/之前不能作为“全局”变量工作?
DataSource.groovy
答案 0 :(得分:4)
在函数内部移动变量声明和初始化,因为你在开始时从它获得初始值而不是实际值。
如果您需要不在函数外部的变量,最好将其保留在函数内。
将值更改为 PoliceOfficer(const ParkedCar &car_, const ParkingMeter &meter_, string name = "...", int badge_number = 000000)
: car(car_), meter(meter_)
{
}
的数字,因为您从输入中获得了一个字符串。
在某处调用函数parseInt()
,可能是在提交时。
limitVisitors()
答案 1 :(得分:0)
一旦页面加载,您就会抓住tb254597
的值。这将是一个空字符串(''
)。您需要每次获取该值。
在写下朋友地址时想一想。你在写下来的时候已经得到了他们的地址。但如果他们搬家会发生什么?如果你去旧地址,你就不会找到你的朋友。请务必检查您的朋友是否有最新地址。
答案 2 :(得分:0)
这取决于你如何调用该函数。无论哪种方式,您都必须将变量传递给函数,以便函数知道您的值。
有点类似:
<script type="text/javascript">
// this parameter can be named whatever
function limitVisitors(param1) {
if ( param1 > 60 ) {
alert("We can only accommodate 60 people on a group visit. You entered " + param1 + " visitors.");
}
}
// Just make sure that this value gets passed to the function like this
var visitors = document.getElementById('tb254597').value;
limitVisitors(visitors);
</script>
您可能需要考虑使用jQuery,以便在DOM实际加载时运行$(document).ready()
函数。如果您要允许用户输入,您可能希望像点击按钮一样进行事件绑定。
修改强> 由于您在HTML元素中使用onchange,因此这应该是您所需要的。请注意函数调用中的更改:
<input type="text" name="Field_Number_of_visitors" size="20" id="tb254597" onchange="limitVisitors(this.value);" />
<script type="text/javascript">
// this parameter can be named whatever
function limitVisitors(param1) {
if ( param1 > 60 ) {
alert("We can only accommodate 60 people on a group visit. You entered " + param1 + " visitors.");
}
}
</script>
答案 3 :(得分:0)
我认为你应该这样做:
function limitVisitors() {
var visitors = parseInt(document.getElementById('tb254597').value);
if ( visitors > 60 ) {
alert("We can only accommodate 60 people on a group visit. You entered " + visitors + " visitors.");
}
}
每次拨打limitVisitors
,您都会获得价值并进行比较。