JavaScript算术运算符


算术运算符

数学运算符

  1. + - * /
  2. + -
  3. % 取余
  4. ++ -- 加加 减减
  5. **

细节

  1. 数字运算是不精确的

  2. 除数为0

如果被除数是正数,得到结果 Infinity (正无穷)
如果被除数是负数,得到结果 -Infinity (负无穷)
如果被除数是0,得到结果 NaN (Not a Number,非数字)

typeof函数, 返回数据类型
isNaN函数,该函数用于判断一个数据是否是NaN,返回boolean >true、false
isFinite函数,该函数用于判断一个数据是否是有限的,返回boolean

  1. 求余(求模)

% :余数的符号,与被除数相同。

其他类型使用算术运算

  1. 除加号之外的算术运算符

将原始类型转换为数字类型(自动完成转换),然后进行运算。

  • boolean: true = 1, false = 0
  • string: 如果字符串内部是一个正确的数字,直接变为数字,如果是一个非数字,则得到NaN(能识别Infinity,不能把字符串内部的东西当作表达式),如果字符串是一个空字符串(没有任何内容),转换为0. 字符串转换时,会忽略前后空格。

    NaN虽然是数字,但它和任何数字作任何运算,得到的结果都是NaN

+null 结果:0
-null 结果:-0 (历史遗留问题)
undefined * 5 结果:NaN
null * 5 结果:0

  • null:null -> 0
  • undefined: undefined -> NaN

将对象类型先转换为字符串类型,然后再将该字符串转换为数字类型

对象类型 -> “[object Object]” -> NaN

{} * 5 系统报错
({} * 5) 结果:NaN

  1. 加号运算符
  • 加号一边有字符串,含义变为字符串拼接

将另一边的其他类型,转换为字符串


文章作者: overwhat
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 overwhat !
评论
  目录