这段代码中的"<+"是什么意思?

21 浏览
0 Comments

这段代码中的"<+"是什么意思?

这个问题已经有了答案:

如何在JavaScript中将字符串转换为整数

我遇到了这个奇怪的所谓操作符,现在很难弄清楚它是什么。有什么想法吗?

var laugh = function(num){
var string=""; 
    for (i=0; i<+num; i++) {
    string+="ha";  
    }
return string + "!"; 
};
console.log(laugh(10));

admin 更改状态以发布 2023年5月23日
0
0 Comments

<+不是一个运算符。您可以将其解释为for(i=0; i < +num; i++),其中+是一元正号运算符。一元正号运算符会将num强制转换为数字。

例如,如果传递给num的值是"100"(作为String),则一元正号运算符会将其强制转换为100(a Number)。

MDN中包含一些一元正号示例和其他算术运算符。

0
0 Comments

+符号在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'));

0