javascript:加variables前的符号

这听起来像一个简单的问题,但我没有运气search。 +d是什么

 function addMonths(d, n, keepTime) { if (+d) { 

手段?

+运算符返回对象的数字表示forms。 所以,在你的具体情况下,它似乎是预测是否是一个非零的数字。

在这里引用。 而且正如评论中指出的那样。

它是一个一元“+”运算符,它产生一个数字expression式。 我相信这和d*1是一样的。

正如其他答案中所解释的,它将variables转换为数字。 当d可以是一个数字或一个数值的函数时特别有用。

示例(在问题中使用addMonths函数):

 addMonths(function(){return x*y;}, 1, true); addMonths(34,1,true); addMonths("34",1,true); 

那么+d在所有情况下都会评估一个数字。 因此,避免需要检查types并根据d是数字,函数还是可以转换为数字的string采取不同的代码path。