这段代码中第四行的目的是什么

时间:2017-05-15 08:43:27

标签: javascript html performance

删除# load libraries library(caret) # load the dataset data(iris) # prepare resampling method control <- trainControl(method="cv", number=5, classProbs=TRUE, summaryFunction=mnLogLoss) set.seed(7) fit <- train(Species~., data=iris, method="rf", metric="logLoss", trControl=control) # display results print(fit) dosen不对输出进行任何更改。这条线的目的是什么。

value = isNaN(value) ? 0 : value;

5 个答案:

答案 0 :(得分:1)

它看起来像一个过滤器,用于仅将数值输入到输入元素中并递增值。

如果从parseInt返回NaN,基本上检查返回零。

您可以使用逻辑OR来防止伪值并改为使用零。

&#13;
&#13;
function incrementValue() {
    var value = parseInt(document.getElementById('number').value, 10) || 0;
    value++;
    document.getElementById('number').value = value;
}
&#13;
<input type="text" id="number" onchange="incrementValue()">
&#13;
&#13;
&#13;

答案 1 :(得分:0)

NaN代表Not a Number,代表无效的数值。如果您在number字段中输入了无效的数字(例如,您键入four而不是4),则在使用parseInt进行解析时,它会返回{{ 1}}值。

代码的第四行NaN会将value = isNaN(value) ? 0 : value;值转换为NaN,因此可以使用它进行算术运算。

答案 2 :(得分:0)

请参阅console.log。显示内部发生的情况。如果您输入字母值。isNaN()验证其值为NaN,则将值返回为0如果是不是NaN返回输入值

&#13;
&#13;
function incrementValue()
    {
        var value = parseInt(document.getElementById('number').value, 10);
        console.log(value)
        value = isNaN(value) ? 0 : value;
        value++;
        document.getElementById('number').value = value;
    }
&#13;
<input id="number" value="sx">
<button onclick="incrementValue()"">valid</button>
&#13;
&#13;
&#13;

答案 3 :(得分:0)

检查参数value是否为非数字(NaN)。

  • 如果确实是NaN,则将其值设为0.

  • 否则,它会通过返回相同的value参数来设置其原始值。

格式

<condition>?<truth scenario>:<false scenario>

你看这里是一个简写:

 if (<condition>) {
      <truth scenario>
   } else {
      <false scenario>
   }

答案 4 :(得分:-1)

NaN表示: 不是数字。

如果您尝试使用此值(NaN)进行计算,则会出现JavaScript致命错误,因此请检查此项是否有效。

顺便说一下,这个脚本无法正常工作,因为你会覆盖&#34;值&#34;每次你调用这个函数。