美文网首页
04ES5--运算符

04ES5--运算符

作者: 修_远 | 来源:发表于2020-11-04 10:27 被阅读0次

常规运算符都没啥变化,这里有10个算术运算符:

  • 加法运算符:x + y
  • 减法运算符: x - y
  • 乘法运算符: x * y
  • 除法运算符:x / y
  • 指数运算符:x ** y
  • 余数运算符:x % y
  • 自增运算符:++x 或者 x++
  • 自减运算符:--x 或者 x--
  • 数值运算符: +x
  • 负数值运算符:-x

下面也主要是记录一些非常规的用法,譬如加法可以表示字符串的连接,这个操作在oc中就没有。

加法运算符

  1. js允许非数值相加:true + true // 21 + true // 2

  2. 如果是两个字符串相加,则表示连接符:'a' + 'bc' // "abc"

  3. 只有有一个是字符串,都是表示链接:1 + 'a' // "1a"false + 'a' // "falsea"

  4. 加法运算符是在运行时决定,到底是执行相加,还是执行连接。运算子的不同,导致了不同的语法行为,这种现象称为“重载”(overload)

  5. 除了加法运算符,其他算术运算符(比如减法、除法和乘法)都不会发生重载。它们的规则是:所有运算子一律转为数值,再进行相应的数学运算。

  6. 对象的加法:必须先转成原始类型的值,然后再相加。例如:var obj = { p: 1 }; 的加法

    • 首先,自动调用对象的 valueOf 方法。obj.valueOf() // { p: 1 }
    • 然后,再自动调用对象的 toString 方法,将其转为字符串。obj.valueOf().toString() // "[object Object]"
    • 最后,变成字符串的加法。obj + 2 <==> "[object Object]" + 2
    • 当然,也是可以重载上面的两个方法,使他们返回指定的值,来完成

其他的几种运算符就没什么特别之处,都是常规语法。例如:余数运算符、自增和自减运算符、数值和负数运算符、指数运算符、位运算符等。

相关文章

  • 04ES5--运算符

    常规运算符都没啥变化,这里有10个算术运算符: 加法运算符:x + y 减法运算符: x - y 乘法运算符: x...

  • python常用运算符的使用

    python七类运算符 算术运算符比较运算符逻辑运算符赋值运算符成员运算符身份运算符位运算符 赋值运算符 运算符描...

  • 运算符与字符串

    运算符 算数运算符、比较运算符、赋值运算符、逻辑运算符比较运算符:>、<、>=、<=、==、!=赋值运算符:=、+...

  • 4. Python运算符

    算数运算符 加法运算符: + 减法运算符: - 乘法运算符: * 除法运算符: / 幂运算符: ** 整除运算符:...

  • Golang——运算符和格式化输出

    运算符 算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、其他运算符 算术运算符 + 相加- 相减* ...

  • Go语言基础之运算符

    运算符 Go 语言内置的运算符有: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 算术运算符 运算符描...

  • 2018年6月13日【Python学习笔记】

    一、运算符 运算符:算数运算符、比较运算符、赋值运算符、逻辑运算符 1.比较运算符:>、<、>=、<=、==、!=...

  • 第二节: 运算符

    算术运算符: 赋值运算符: 比较运算符: Python位运算符 逻辑运算符: 成员运算符: 身份运算符:

  • Java基础学习二 运算符

    运算符 1,运算符-算术运算符(++、--) 代码示例: 2,运算符-关系运算符 运算符号解析运算符号解析>大于<...

  • Python运算符、格式化输出、条件语句、循环语句、列表、元组

    运算符包括:算术运算符、比较运算符、赋值运算符、逻辑运算符、成员运算符、身份运算符 算术运算符 % 取模(余数...

网友评论

      本文标题:04ES5--运算符

      本文链接:https://www.haomeiwen.com/subject/egrwvktx.html