我是JS的新手 - 这对你们来说很容易回答。我一直在阅读正则表达式,但无法弄清楚这段代码的全部含义:
我被要求使用以下规则编写myParseInt方法:
答案是:
function myParseInt ( str ) { return /^\s*\d+\s*$/ . test (str) ? + str : NaN; }
(如果我错了,请纠正我!)但我理解第一个和最后一个部分(/^\s*
和\s*$
),它匹配str输入的开头和结尾白色空间字符。 \d+
部分匹配数字字符1次或更多次。
.test(str)
部分将str与所述正则表达式匹配,并给出一个真值或假值 -
但为什么会这样?在.test(str)
之后,然后+ str: NaN;
?我不确定?
做什么,:
语法。我知道如果它不匹配,它会与NaN
相关。但我试图弄清楚我在MDN上找不到的语法。
非常感谢!
答案 0 :(得分:0)
?是三元手术。 你写了一个条件,返回true / false后跟一个问号,然后返回truthy和falsy的内容。 它来自C。
https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Operators/Conditional_Operator