Java教程

JavaScript 学习笔记 语法基础——操作符之 + 运算符

本文主要是介绍JavaScript 学习笔记 语法基础——操作符之 + 运算符,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

前言

JavaScript 的加法和级联(concatenation)都使用 + 运算符。

语法

加法操作符(+)针对特殊值也有一些特殊的行为:

  • 如果有任一操作数是NaN,则返回NaN。
  • 如果是Infinity加Infinity,则返回Infinity。
  • 如果是-Infinity加-Infinity,则返回-Infinity。
  • 如果Infinity加-Infinity,则返回NaN。
  • +0加+0,则返回+0。
  • -0加+0,则返回+0。
  • -0加-0,则返回-0。
  • 如果有一个操作数是字符串
    (1)如果两个操作数都是字符串,则将第二个字符串拼接到第一个字符串后面。
    (2)如果只有一个操作数是字符串,则将另一个操作数转换成为字符串,再将两个字符串拼接在一起。
  • 如果有任一操作数是对象、数值或布尔值,则调用他们的toSting()方法以获取字符串,然后在应用前面的关于字符串的规则。对于undefined和null,则调用String()函数,分别获取"undefined"和"null"。
let num1 = 5;
let num2 = 10;
let message = "The sum of 5 and 10 is " + num1 + num2;   // "The sum of 5 and 10 is 510"
let message = "The sum of 5 and 10 is " + (num1 + num2); // "The sum of 5 and 10 is 15" 

解惑

如何判断加法还是级联?
对 两个数字 用加法运算。对 两个字符串 或者 一个字符串加一个数字 用级联运算。

加法和级联是怎么处理数据的?
在所有数字运算中,JavaScript 会尝试将各种数据类型转换为数字:Number()
在字符串级联运算中,JavaScript 会尝试将各种数据类型转换为字符串:toString() 或者 String()(对于 undefined 和 null)

这篇关于JavaScript 学习笔记 语法基础——操作符之 + 运算符的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!