变量前加号的作用是什么?

2020/10/08 16:20 · javascript ·  · 0评论

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

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

手段?

+运算符返回该对象的数字表示。因此,在您的特定情况下,它似乎是在判断是否d为非零数字。

参考这里而且,正如评论中指出的,这里

它是一元运算符“ +”,它产生一个数字表达式。d*1我相信这将与相同

如其他答案所述,它将变量转换为数字。d可以是数字或计算结果为数字的字符串时特别有用

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

addMonths(34,1,true);
addMonths("34",1,true);

那么+d在所有情况下都会得出一个数字。这样就避免了需要检查类型并根据d数字,函数或可以转换为数字的字符串采用不同的代码路径

运算符+是将值转换为数字的一元运算符。下面,我准备了一张表格,其中包含针对不同的值使用此运算符的相应结果。

+-----------------------------+-----------+
| Value                       | + (Value) |
+-----------------------------+-----------+
| 1                           | 1         |
| '-1'                        | -1        |
| '3.14'                      | 3.14      |
| '3'                         | 3         |
| '0xAA'                      | 170       |
| true                        | 1         |
| false                       | 0         |
| null                        | 0         |
| 'Infinity'                  | Infinity  |
| 'infinity'                  | NaN       |
| '10a'                       | NaN       |
| undefined                   | Nan       |
| ['Apple']                   | Nan       |
| function(val){ return val } | NaN       |
+-----------------------------+-----------+

运算符+返回已实现方法的对象的值valueOf

let something = {
    valueOf: function () {
        return 25;
    }
};

console.log(+something);
本文地址:http://javascript.askforanswer.com/bianliangqianjiahaodezuoyongshishenme.html
文章标签:
版权声明:本文为原创文章,版权归 javascript 所有,欢迎分享本文,转载请保留出处!

文件下载

老薛主机终身7折优惠码boke112

上一篇:
下一篇:

评论已关闭!