Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript:正则表达式和.test_Javascript - Fatal编程技术网

Javascript:正则表达式和.test

Javascript:正则表达式和.test,javascript,Javascript,我是JS新手-这对你们来说可能很容易回答。我一直在阅读正则表达式,但无法理解此代码的全部含义: 我被要求使用以下规则编写myParseInt方法: 如果给定字符串仅包含 单个整数值(最终为空格-包括制表符、行) 饲料…-在两端) 对于所有其他字符串(包括表示浮点值的字符串), 它应该返回NaN 它应该假设所有的数字都不是以基数签名和书写的 十, 答案是: function myParseInt ( str ) { return /^\s*\d+\s*$/ . test (str) ? + s

我是JS新手-这对你们来说可能很容易回答。我一直在阅读正则表达式,但无法理解此代码的全部含义:

我被要求使用以下规则编写myParseInt方法:

  • 如果给定字符串仅包含 单个整数值(最终为空格-包括制表符、行) 饲料…-在两端)
  • 对于所有其他字符串(包括表示浮点值的字符串), 它应该返回NaN
  • 它应该假设所有的数字都不是以基数签名和书写的 十,
答案是:

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上找不到的语法


非常感谢

?这是一个三元运算。 你写了一个条件,返回真/假,后面是一个问号,然后返回什么来表示truthy和falsy。 它取自C