【JavaScript】4_运算符

举报
魔天伦 发表于 2023/02/10 15:40:32 2023/02/10
【摘要】 运算符1、算术运算符运算符(操作符)运算符可以用来对一个或多个操作数(值)进行运算算术运算符:加法运算符减法运算符乘法运算符/ 除法运算符** 幂运算% 模运算,两个数相除取余数注意:算术运算时,除了字符串的加法,其他运算的操作数是非数值时,都会转换为数值然后再运算JS是一门弱类型语言,当进行运算时会通过自动的类型转换来完成运算当任意一个值和字符串做加法运算时,它会先将其他值转换为字符串,然...

运算符

1、算术运算符

运算符(操作符)

  • 运算符可以用来对一个或多个操作数(值)进行运算
  • 算术运算符:
  • 加法运算符
  • 减法运算符
  • 乘法运算符
    / 除法运算符
    ** 幂运算
    % 模运算,两个数相除取余数
  • 注意:
  • 算术运算时,除了字符串的加法,
    其他运算的操作数是非数值时,都会转换为数值然后再运算

JS是一门弱类型语言,当进行运算时会通过自动的类型转换来完成运算

当任意一个值和字符串做加法运算时,它会先将其他值转换为字符串,

然后再做拼串的操作

可以利用这一特点来完成类型转换

可以通过为任意类型 + 一个空串的形式来将其转换为字符串

其原理和String()函数相同,但使用起来更加简洁


<script>
    let a = 1 + 1
    a = 10 - 5
    a = 2 * 4
    a = 10 / 5
    a = 10 / 3
    a = 10 / 0 // Infinity
    a = 10 ** 4
    a = 9 ** .5 // 开方
    a = 10 % 2
    a = 10 % 3
    a = 10 % 4

    a = 10 - '5' // 10 - 5
    a = 10 + true // 10 + 1
    a = 5 + null // 5 + 0
    a = 6 - undefined // 6 - NaN

    a = 'hello' + 'world'
    a = '1' + 2 // "1" + "2"

    a = true
    a = a + ''
    console.log(typeof a, a)
</script>


2、赋值运算符


赋值运算符用来将一个值赋值给一个变量
=
    - 将符号右侧的值赋值给左侧的变量
??=
    - 空赋值
    - 只有当变量的值为null或undefined时才会对变量进行赋值
+=
    - a += n 等价于 a = a + n
-=
    - a -= n 等价于 a = a - n
*=
    - a *= n 等价于 a = a * n
/=
    - a /= n 等价于 a = a / n
%=
    - a %= n 等价于 a = a % n
**=
    - a **= n 等价于 a = a ** n
<script>
    let a = 10
    a = 5 // 将右边的值 赋值 给左边的变量
    let b = a // 一个变量只有在=左边时才是变量,在=右边时它是值

    a = 66
    a = a + 11 // 大部分的运算符都不会改变变量的值,赋值运算符除外

    a = 5
    // a = a + 5 // 10
    a += 5 // 在a原来值的基础上增加5

    a = null

    a ??= 101
    console.log(a)
</script>


3、一元±

一元的±

+正号
  • 不会改变数值的符号
-负号
  • 可以对数值进行符号位取反
当我们对非数值类型进行正负运算时,会先将其转换为数值然后再运算


<script>
       let a = -10
       a = -a
       let b = '123'
       b = +b // b = Number(b)
       console.log(typeof b, b)
</script>
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。