我想创建一个函数,它将使用下面粘贴的多个函数。我想忽略警报并只使用返回值,这可能吗? 谢谢
function ageFormatAll()
{
var age = document.getElementById('ageGrade').value;
var patt=/^(?:\d{2}\.\d{2}|)$/;
if (! patt.test(age) )
{
alert("Value entered doesn't match the correct format");
return "Age grade doesn't match format.\n";
} else
{ return "" };
}
答案 0 :(得分:1)
正式你不能。只需从功能中删除警报即可。
但实现你想要的东西有一种垃圾和不可靠的方法:
// remember alert to restore later
var alert_ = alert;
// override alert with an empty function
alert = function() {};
// get the result
var result = ageFormatAll();
// restore the alert function
alert = alert_;
但不要这样使用:这是一件好事,但不要使用。
答案 1 :(得分:0)
删除提醒?或者,如果要有条件地显示警报,请修改该功能。将if检查作为参数。这样,您可以在其他场景中重复使用它,只需在不需要警报时传递参数。
function ageFormatAll(doNotShowAlert)
{
var age = document.getElementById('ageGrade').value;
var patt=/^(?:\d{2}\.\d{2}|)$/;
if (! patt.test(age) )
{
if(doNotShowAlert !== undefined && doNotShowAlert) {
alert("Value entered doesn't match the correct format");
}
return "Age grade doesn't match format.\n";
} else
{ return "" };
}