-1

我很难找到为什么这不起作用:

value = ( (value == undefined) || (typeof(value) !=== "number") ) ? 1 : value;

据我了解,这应该设置value为要么1value(变量),具体取决于是否value不是数字。

如果 value 不是数字,则将其更改为1,如果是,则保留它。

我在这里做错了什么?

4

3 回答 3

2

如果您将!===(实际上并不存在)更改为!==(这是 的逻辑逆===),这将很好用。

于 2012-11-21T20:30:41.510 回答
2

您使用了太多的等号。正确的语法是!==.

只需使用value = (typeof(value) !== "number") ? 1 : value;

这个(value == undefined)条件是多余的,因为当前者为真时后者总是为真。

于 2012-11-21T20:31:12.927 回答
2

快速浏览:

!=== (带有三个等号)是一个错字。正确的运算符是 !== (带有两个等号)。

每当您遇到 Javascript 问题时,我强烈建议您在http://www.jslint.com/上解决所有警告和问题——它有助于捕捉很多肉眼看不到的东西。

于 2012-11-21T20:31:23.397 回答