当条件应该评估为假时,Javascript 进入 if 语句

亚历克斯

我有一个问题,当条件应该评估为假时,javascript 进入 if 语句。我有链接到 HTML 的 javascript。HTML 使用表单作为每个变量的输入,当没有输入任何表单输入类型时,javascript 输出“0”。

如果将5输入到initialVelocity 中,并将45输入到finalVelocity 中,则输出为50

随意取笑我的编码风格,感谢所有答案!

function physicsFunction() {

var initialVelocity = document.getElementById('formInitialV').elements['initialVName'].value;
var finalVelocity = document.getElementById('formFinalV').elements['finalVName'].value;
var time = document.getElementById('formTime').elements['timeName'].value;
var acceleration = document.getElementById('formAcceleration').elements['accelerationName'].value;
var averageAcceleration = document.getElementById('formAvgAcceleration').elements['avgAccelerationName'].value;
var displacement = document.getElementById('formDisplacement').elements['displacementName'].value;
var averageVelocity = document.getElementById('formAvgVelocity').elements['avgVelocityName'].value;

if (initialVelocity !== undefined && acceleration !== undefined && time !== undefined) {
  var finalVelocity = (initialVelocity + acceleration * time);
  document.getElementById('paragraphOne').innerHTML = 'The final Velocity is about equal to: ' + finalVelocity +' m/s';
}}
用户3114072

要获得实际undefined值,您可以使用如下函数:

function UndefinedIfEmpty(value)
{
  if(value.trim() == "")
  {
     return undefined;
  }
  else
  {
    return value;
  }
}

// Use it:
// var initialVelocity = UndefinedIfEmpty(document.getElementById('formInitialV').elements['initialVName'].value);
// and so on

console.log("`` is ", UndefinedIfEmpty(""));
console.log("` ` is ", UndefinedIfEmpty(" "));
console.log("`12` is ", UndefinedIfEmpty("12"));

您甚至应该转换为数字,以避免:initialVelocity + acceleration * time=> "12" + "4" * 13=> "12" + 52 => "1252"(字符串连接)。

function NumberOrUndefined(value)
{
  value = value.trim();
  if ( value == "" )
  {
    return undefined;
  }
  else
  {
    return parseInt(value, 10);
  }
}
// 10 in parseInt to avoid octal convertion

console.log("` ` is", NumberOrUndefined(" "));
console.log("12 is a ", typeof NumberOrUndefined("12"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么我的代码进入条件为假的else-if语句中?

来自分类Dev

为什么我的代码进入条件为假的else-if语句中?

来自分类Dev

javascript条件不会进入第二个语句

来自分类Dev

程序不进入if语句

来自分类Dev

为什么我的文件在进入 If 语句时突然关闭?

来自分类Dev

由于卷发而进入if语句后,进入else语句

来自分类Dev

由于卷发而进入if语句后,进入else语句

来自分类Dev

使用Execute语句进入INFILE

来自分类Dev

Javascript if语句在应该为真时返回假

来自分类Dev

当条件之一为假时,if 语句是否立即返回

来自分类Dev

为什么我的if语句应该在什么时候不评估为假?

来自分类Dev

Powershell语句进入调试器

来自分类Dev

代码的执行总是进入else语句

来自分类Dev

创建用于选择进入语句的存储过程

来自分类Dev

MS Access选择..进入语句混乱

来自分类Dev

SQL Server:进入联接语句的子查询

来自分类Dev

简化2个if语句进入循环

来自分类Dev

无法获得if语句以正确评估-.include?总是评估为假

来自分类Dev

调试器进入条件为假的if()块

来自分类Dev

Java,如果条件为假,则重复If语句

来自分类Dev

Java,如果条件为假,则重复If语句

来自分类Dev

if 语句中的哪些条件为假

来自分类Dev

尽管为真,但如果语句评估为假

来自分类Dev

空条件运算符在 if 语句中始终为真 when 应该为假

来自分类Dev

在进入进度视图时进入循环

来自分类Dev

在多个条件if语句中什么条件为假

来自分类Dev

Python,如果语句的结果进入熊猫数据框

来自分类Dev

进入此数组并构建SQL语句的最佳方法

来自分类Dev

preg_match if 语句只进入 else 部分

Related 相关文章

热门标签

归档