zoukankan      html  css  js  c++  java
  • JS运算符

      运算符

    JavaScript中运算符主要用于连接简单表达式,组成一个复杂的表达式。常见的运算符有算数表达式比较表达式逻辑表达式赋值表达式等,也有单目运算符,指操作原始表达式。大多数运算符都由标点符号组成(+、>=、!),也有关键字表示的运算符,如typeofdeleteinstanceof等。

    一些运算符可以作用于任何数据类型(typeof),但大部分操作符希望操作数是特定的类型,而且大部分操作符会计算出(我们也常说返回)一个特定类型的值(typeof返回的全是string)。在JavaScript中运算符通常会根据需要对操作数进行类型转换,乘法操作符希望操操作数是数字,但是"3"*"5"也是合法的,JavaScript会自动将其转换为数字计算,返回 Number 15。

    1)算数运算符

    在JavaScript中有以下算数运算符:

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

    这些运算符主要都是用作数学运算的,主要说下加法运算符

    加法运算符

    加法运算符(+)是最常见的运算符,用来求两个数值的和

    1+1  //2
    

      

    如果是两个字符串相加,加法运算符是将两个字符串作为拼接,返回新的字符串

    'ab' + 'cd' // 'abcd'
    

      

    如果是字符串和数值相加,则会把数值转化为字符串再进行拼接

    var a ='3'
    var b = 4
    a+b  //  '34'
    

      

    和对象相加会调用其valueOf或者toString方法

    var obj = {a:1}
    var a = 5
    obj+a  //[object Object]5
    

      

    自增和自减运算符

    自增和自减运算符,是一元运算符,只需要一个运算子。它们的作用是将运算子首先转为数值,然后加上1或者减去1。它们会修改原始变量。

    var x = 1
    ++x  //2

    --x //1
    x//1

      上面代码的变量x自增后,返回2,再进行自减,返回1。这两种情况都会使得,原始变量x的值发生改变。

    自增和自减运算符有一个需要注意的地方,就是放在变量之后,会先返回变量操作前的值,再进行自增/自减操作;放在变量之前,会先进行自增/自减操作,再返回变量操作后的值。

    var x = 1
    x++  //1
    x //2
    
    var y = 1
    ++y //2
    y //2
    

      自增和自减运算符放在变量前和后的区别

    2)比较运算符

    比较运算符用于比较两个值的大小,然后返回一个布尔值,表示是否满足指定的条件。

    注意,比较运算符可以比较各种类型的值,不仅仅是数值。

    JavaScript 一共提供了8个比较运算符。

    • > 大于运算符
    • < 小于运算符
    • <= 小于或等于运算符
    • >= 大于或等于运算符
    • == 相等运算符
    • === 严格相等运算符
    • != 不相等运算符
    • !== 严格不相等运算符

    这里说下相等运算符和严格相等运算符的区别

    =====有什么区别?

    “==”运算符单纯比较两边的表达式的值是否相等,而“===”是严格比较,不仅会比较值是否相等,还会进行数据类型的比较

    3)布尔运算符

    布尔运算符用于将表达式转为布尔值,一共包含四个运算符。

    • 取反运算符:!
    • 且运算符:&&
    • 或运算符:||
    • 三元运算符:?:

    4)其他运算符

    • void运算符
    • 逗号运算符

    参考链接:https://wangdoc.com/javascript/operators/index.html

  • 相关阅读:
    【PowerOJ1754&网络流24题】负载平衡问题(费用流)
    【PowerOJ1753&网络流24题】分配问题(KM)
    【PowerOJ1752&网络流24题】运输问题(费用流)
    【PowerOJ1751&网络流24题】数字梯形问题(费用流)
    【PowerOJ1746&网络流24题】航空路线问题(费用流)
    【PowerOJ1744&网络流24题】方格取数问题(最小割)
    【PowerOJ1742&网络流24题】试题库问题(最大流)
    【PowerOJ1741&网络流24题】最长递增子序列问题(最大流)
    【PowerOJ1739&网络流24题】魔术球问题(最大流)
    邮件系统相关协议之SMTP
  • 原文地址:https://www.cnblogs.com/ianyanyzx/p/9488208.html
Copyright © 2011-2022 走看看