Javascript 为什么console.log(10+5+rajdeep)将15rajdeep作为输出,而console.log(rajdeep+10+5)将rajdeep105作为输出?

Javascript 为什么console.log(10+5+rajdeep)将15rajdeep作为输出,而console.log(rajdeep+10+5)将rajdeep105作为输出?,javascript,Javascript,控制台。log10+5+rajdeep; 控制台。lograjdeep+10+5; 第一句话给人深刻的印象。 第二个声明给出了我的看法。我想进一步阐述一下我的评论 为了精确起见,我假设rajdeep是一个存储字符串“rajdeep”的变量。Javascript从右向左计算加法操作。也就是说,10+5+rajdeep实际上被评估为10+5+rajdeep。从中我们可以看到,10+5将首先计算为15,然后与rajdeep字符串连接以生成15rajdeep。第二个示例rajdeep+10+5评估为ra

控制台。log10+5+rajdeep; 控制台。lograjdeep+10+5; 第一句话给人深刻的印象。 第二个声明给出了我的看法。

我想进一步阐述一下我的评论


为了精确起见,我假设rajdeep是一个存储字符串“rajdeep”的变量。Javascript从右向左计算加法操作。也就是说,10+5+rajdeep实际上被评估为10+5+rajdeep。从中我们可以看到,10+5将首先计算为15,然后与rajdeep字符串连接以生成15rajdeep。第二个示例rajdeep+10+5评估为rajdeep+10+5。rajdeep+10生成一个字符串rajdeep10,然后将该字符串添加到5以生成另一个字符串rajdeep105。

Radeep最有可能是一个字符串。。因为加法是从左到右解析的;在第一种情况下,在将任何内容强制为字符串之前添加数字。