我认为答案可能是'没有'从我所知道的数学图书馆似乎不会处理null,但我喜欢所拥有的是在这些场景中处理null:
x=1
(y not defined)
z = sum(x, y)
使用eval()理想地给出:
z=1
但是,这会引发异常,因为y未定义。
实际上,我违约' y'在该示例中为零,并且在所有情况下都不起作用。
那么,我想我要问的是,如果没有为变量赋值,是否有内置的方法来定义变量的默认值?
如果没有,我假设通过编写自定义函数可以实现这一点。如果有人能证实这一点,我真的很感激。
谢谢: - )。
答案 0 :(得分:0)
好的 - 我正在浏览release notes for v4,看到它在讨论常量' null,undefined' (和别的)。所以,为了解决这个问题,我必须将变量定义为undefined(可能应该知道这个!)。
(注意:我怀疑这些常量在以前的版本中也可用。)
然后结合默认'自定义功能我可以得到我想要的东西:
x=1
y = null
z = sum(x, def(y, 0))
z=1
其中' def'如下定义和导入(使用' lodash'):
var customFunctions = {
def: function (value, defaultValue) {
return !_.isNil(value) ? value : defaultValue;
}
};
math.import(customFunctions);
BOSH!