只想使用返回值并忽略警报

时间:2015-12-31 10:41:12

标签: javascript

我想创建一个函数,它将使用下面粘贴的多个函数。我想忽略警报并只使用返回值,这可能吗? 谢谢

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 "" };
}

2 个答案:

答案 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 "" };
}