Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果出现以下情况,是否可以使用多个输入提示终止Javascript函数;取消“;是否单击提示?_Javascript_Html - Fatal编程技术网

如果出现以下情况,是否可以使用多个输入提示终止Javascript函数;取消“;是否单击提示?

如果出现以下情况,是否可以使用多个输入提示终止Javascript函数;取消“;是否单击提示?,javascript,html,Javascript,Html,我有一个JavaScript函数来计算物理方程。该功能需要用户的输入。例如,如果函数需要3个输入,则会出现输入提示框,直到给出每个输入。当前,如果有3个连续的提示框,并且用户在第一个提示框上单击“取消”,则仍会弹出以下两个提示框,要求用户单击它们 我不知道从哪里开始。我曾想过实现一个if..else语句,但我说的是总共有近100个函数,每个函数至少有2或3个输入提示,而且每个函数都有一个if..else语句,似乎效率很低 我在Stack Overflow和其他网站上搜索过,但在我看来,没有什么是

我有一个JavaScript函数来计算物理方程。该功能需要用户的输入。例如,如果函数需要3个输入,则会出现输入提示框,直到给出每个输入。当前,如果有3个连续的提示框,并且用户在第一个提示框上单击“取消”,则仍会弹出以下两个提示框,要求用户单击它们

我不知道从哪里开始。我曾想过实现一个if..else语句,但我说的是总共有近100个函数,每个函数至少有2或3个输入提示,而且每个函数都有一个if..else语句,似乎效率很低

我在Stack Overflow和其他网站上搜索过,但在我看来,没有什么是解决这个问题的合理步骤

如果有一个贴子正好解决了这个问题,请链接,让我提前道歉

代码一切正常,用户似乎会因为必须单击退出函数而感到恼火,特别是对于需要更多输入的函数

HTML代码

<p><button onclick="finalvelocity()">Final Velocity</button></p>

我希望有一个属性可以添加到HTML按钮中,如果按下“取消”按钮,该属性将终止函数调用

//JavaScript代码
函数最终位置(初始速度、加速度、时间)
{
var initialvelocity=prompt('请以米/秒为单位输入初始速度');
if(initialvelocity==null)返回;
var加速度=提示(“请输入加速度,单位为米/秒平方”);
如果(加速度==null)返回;
var time=prompt('请以秒为单位输入时间');
if(time==null)返回;
var finalvelocity=数量(初始速度)+(数量(加速度)*数量(时间));
警报(“最终速度为:'+最终速度+'米/秒”);
}


最终速度

编辑为与您的代码一起使用

//JavaScript代码
函数最终位置(初始速度、加速度、时间)
{
var initialvelocity=prompt('请以米/秒为单位输入初始速度');
if(initialvelocity==null)返回;
var加速度=提示(“请输入加速度,单位为米/秒平方”);
如果(加速度==null)返回;
var time=prompt('请以秒为单位输入时间');
if(time==null)返回;
var finalvelocity=数量(初始速度)+(数量(加速度)*数量(时间));
警报(“最终速度为:'+最终速度+'米/秒”);
}


Final Velocity

当按下cancel时,
提示符
函数返回
null
,因此您可以实际检查返回值是否为
null
,然后使用
return
语句终止函数。

当按下cancel时,
提示符
函数返回
null
,因此,您可以实际检查返回值是否为
null
,然后使用
return
语句终止函数。

如果您有100个输入,可能不使用
prompt()
,但是,创建一个表单

函数calculateFinalVelocity(){
var initialvelocity=document.getElementById(“initialvelocity”).value;
var加速度=document.getElementById(“加速度”).value;
var time=document.getElementById(“time”).value;
var finalvelocity=数量(初始速度)+(数量(加速度)*数量(时间));
document.getElementById(“answer”).innerHTML='最终速度为:'+finalvelocity+'m/2';
}


初始速度(m/22)

加速度单位:m/22

以秒为单位的时间

计算最终速度

如果您有100个输入,可能不使用
prompt()
,但是,制作一个表单

函数calculateFinalVelocity(){
var initialvelocity=document.getElementById(“initialvelocity”).value;
var加速度=document.getElementById(“加速度”).value;
var time=document.getElementById(“time”).value;
var finalvelocity=数量(初始速度)+(数量(加速度)*数量(时间));
document.getElementById(“answer”).innerHTML='最终速度为:'+finalvelocity+'m/2';
}


初始速度(m/22)

加速度单位:m/22

以秒为单位的时间

计算最终速度

我认为最有效的方法是将提示文本放入数组中,然后在其中循环

这是小提琴:

代码:

var promptArr=[
“请以米/秒为单位输入初始速度”,
“请输入加速度,单位为米/秒平方”,
“请以秒为单位输入时间”
];
var值=[];
for(var t=0;t
我认为最有效的方法是将提示文本放入数组中,然后循环遍历它

这是小提琴:

代码:

var promptArr=[
“请以米/秒为单位输入初始速度”,
“请输入加速度,单位为米/秒平方”,
“请以秒为单位输入时间”
];
var值=[];
for(var t=0;t
检查是否为空,然后重新设置
function finalvelocity(initialvelocity, acceleration, time)
{
    var initialvelocity = prompt('Please enter the Initial Velocity in Meters per Second');
    var acceleration = prompt('Please enter the Acceleration in Meters per Second Squared');
    var time = prompt('Please enter the Time in Seconds');
    var finalvelocity = Number(initialvelocity) + (Number(acceleration) * Number(time));
    alert('The Final Velocity is found to be: ' + finalvelocity + 'Meters per Second');

}
var promptArr = [
    "Please enter the Initial Velocity in Meters per Second",
  "Please enter the Acceleration in Meters per Second Squared",
  "Please enter the Time in Seconds"
];
var values = [];

for (var t = 0; t < promptArr.length; t++) {
    var k = prompt(promptArr[t]);
  if (k == null) {
    break;
  }
  else {
    values.push(k);
  }
}

if (values.length === 3) {
    var finalvelocity = Number(values[0]) + (Number(values[1]) * Number(values[2]));
  alert(finalvelocity);
}