我的HTML代码中有一个按钮,它运行一个函数,并调用其他几个JavaScript函数。代码如下:
<button id="ButtonSearch" onclick="FillAll()"></button>
FillAll()
函数位于Calls.js
文件中,代码如下:
function FillAll()
{
var from_date = document.getElementById('FromDate').value;
var to_date = document.getElementById('ToDate').value;
FillMap();
FillMap(from_date, to_date);
FillRadio();
FillArea();
}
最后,实际的函数FillMap()
在文件Maps.js
中,看起来像这样:
function FillMap(from_date, to_date)
{
alert(from_date);
var from_date = document.getElementById('FromDate').value;
var to_date = document.getElementById('ToDate').value;
// do stuff
}
奇怪的是,
FillMap()
被调用了两次,而且alert
弹出框也出现了两次:第一个是undefined
,而第二个则显示了from_date
。一般来说,JavaScript函数和“常规”函数有所不同,需要匹配参数的数量吗?
在这种情况下,虽然参数不匹配,但函数仍然被调用。
void(0)
。虽然它可以工作,但这是一种古老的技术。更好的选择是直接传递null
作为参数值。 - Scott Marcus