Javascript 是否可以使用未定义的变量值进行计算?

Javascript 是否可以使用未定义的变量值进行计算?,javascript,Javascript,我从两个变量中减去,但有时我需要减去一个未定义的值。但是减法的输出是Nan var margeproject= omzetproject - kostenproject; 当它们都被设置时,它可以正常工作,但当一个值未定义时,我返回NaN。例如: 3=6-3; Nan=6-undefined; 试试这个: var margeproject = (omzetproject || 0) - (kostenproject || 0); 如果任一变量为未定义,则将使用0而不是未定义 如果变量可能包

我从两个变量中减去,但有时我需要减去一个未定义的值。但是减法的输出是Nan

var margeproject= omzetproject - kostenproject;
当它们都被设置时,它可以正常工作,但当一个值未定义时,我返回NaN。例如:

3=6-3;
Nan=6-undefined;
试试这个:

var margeproject = (omzetproject || 0) - (kostenproject || 0);
如果任一变量为
未定义
,则将使用
0
而不是
未定义

如果变量可能包含字符串,您可以这样捕获:

var margeproject = ((omzetproject || 0) - (kostenproject || 0)) || 0;
试试这个:

var margeproject = (omzetproject || 0) - (kostenproject || 0);
如果任一变量为
未定义
,则将使用
0
而不是
未定义

如果变量可能包含字符串,您可以这样捕获:

var margeproject = ((omzetproject || 0) - (kostenproject || 0)) || 0;

您应该测试变量的有效性。当它未定义时,您不能使用它:

if (typeof kostenproject === 'undefined')
   kostenproject = defaultValue;

您应该测试变量的有效性。当它未定义时,您不能使用它:

if (typeof kostenproject === 'undefined')
   kostenproject = defaultValue;

未定义时需要什么?尝试:var margeproject=Number(omzetproject-kostenproject);如果其中一个未定义,则应返回零值。结果必须为NaN。怎么可能不是楠?你期望结果是什么?最好确保变量有一些数值;预设(带0?)或在(可能未定义的)赋值上添加| | 0。未定义时需要什么?请尝试:var margeproject=Number(omzetproject-kostenproject);如果其中一个未定义,则应返回零值。结果必须为NaN。怎么可能不是楠?你期望结果是什么?最好确保变量有一些数值;预设(使用0?)或在(可能未定义的)赋值上添加| | 0。假设声明了
omzetproject
kostenproject
,这将起作用。粘贴到控制台中会给出:ReferenceError:omzetproject不可用defined@MBottens: “但有时我需要减去一个未定义的值。但是减法的输出是
NaN
”-->如果没有声明变量,OP就不会得到
NaN
。@KooiInc:OP:“我的变量可能未定义,我该怎么办?”解决方案:“最好检查这些变量是字符串、布尔值、对象、数组,甚至是函数!“。虽然您提出了一个合理的担忧,即该函数在使用字符串时会中断,但我不认为这些变量(
projectovership
&
projectCosts
)将包含字符串。@Cerbrus特别是在“我认为这些变量不会包含字符串”之类的编程语句中“立即成为激活墨菲定律的候选。假设声明了
omzetproject
kostenproject
,这将起作用。粘贴到控制台中给出:ReferenceError:omzetproject不起作用defined@MBottens: “但有时我需要减去一个未定义的值。但是减法的输出是
NaN
”-->如果没有声明变量,OP就不会得到
NaN
。@KooiInc:OP:“我的变量可能未定义,我该怎么办?”解决方案:“最好检查这些变量是字符串、布尔值、对象、数组,甚至是函数!“。虽然您提出了一个合理的担忧,即该函数在使用字符串时会中断,但我不认为这些变量(
projectovership
&
projectCosts
)将包含字符串。@Cerbrus特别是在“我认为这些变量不会包含字符串”之类的编程语句中“你是激活墨菲定律的候选人。