我很难找到为什么这不起作用:
value = ( (value == undefined) || (typeof(value) !=== "number") ) ? 1 : value;
据我了解,这应该设置value
为要么1
或value
(变量),具体取决于是否value
不是数字。
如果 value 不是数字,则将其更改为1
,如果是,则保留它。
我在这里做错了什么?
我很难找到为什么这不起作用:
value = ( (value == undefined) || (typeof(value) !=== "number") ) ? 1 : value;
据我了解,这应该设置value
为要么1
或value
(变量),具体取决于是否value
不是数字。
如果 value 不是数字,则将其更改为1
,如果是,则保留它。
我在这里做错了什么?
如果您将!===
(实际上并不存在)更改为!==
(这是 的逻辑逆===
),这将很好用。
您使用了太多的等号。正确的语法是!==
.
只需使用value = (typeof(value) !== "number") ? 1 : value;
这个(value == undefined)
条件是多余的,因为当前者为真时后者总是为真。
快速浏览:
!=== (带有三个等号)是一个错字。正确的运算符是 !== (带有两个等号)。
每当您遇到 Javascript 问题时,我强烈建议您在http://www.jslint.com/上解决所有警告和问题——它有助于捕捉很多肉眼看不到的东西。