这段代码中的"<+"是什么意思?
这段代码中的"<+"是什么意思?
这个问题已经有了答案:
我遇到了这个奇怪的所谓操作符,现在很难弄清楚它是什么。有什么想法吗?
var laugh = function(num){ var string=""; for (i=0; i<+num; i++) { string+="ha"; } return string + "!"; }; console.log(laugh(10));
admin 更改状态以发布 2023年5月23日
<+
不是一个运算符。您可以将其解释为for(i=0; i < +num; i++)
,其中+
是一元正号运算符。一元正号运算符会将num
强制转换为数字。
例如,如果传递给num
的值是"100"
(作为String
),则一元正号运算符会将其强制转换为100
(a Number
)。
MDN中包含一些一元正号示例和其他算术运算符。
+
符号在JS中的一个作用是将右侧部分解析为数字。
const str = '4'; console.log(str + 5); // Concatenared as strings console.log(+str + 5); // Sums the numbers
在您的情况下,您有一个语句i < +num
,它只是将num
解析为数字,并将i
与之进行比较。如果num
是一个数字,则不会发生任何事情。
看。我使用了'10'
而不是10
,它仍然可以工作,因为给定的字符串被解析为数字。
var laugh = function(num) { var string=""; for (var i = 0; i < +num; i++) { string+="ha"; } return string + "!"; }; console.log(laugh('10'));