js运算

97 阅读2分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第15天,点击查看活动详情

vaScript运算符

算术运算符

  • 运算符
    • + : 数字求和;字符串拼接
    • - : 操作数取反;数字相减;字符串转数值
    • * : 对两个运算数进行乘法运算,同号得正,异号得负
    • / : 对两个运算数进行除法运算,同号得正,异号得负
    • % : 返回余数
  • 复合赋值运算符 : +=、-=、*=、/=、%=

自增自减

  • 功能相反
    • ++ : 对唯一的运算数进行递增操作(每次加1)
    • -- : 对唯一的运算数进行递减操作(每次减1)
  • 规则相同
    • 运算数必须是一个变量、数组的一个元素或者对象的属性
    • 如果运算数是非数值的,则运算符会把它转化为数值
  • 符号位置决定运算结果
    • 运算数之前 : 先进行递增递减操作,然后再进行求值
    • 运算数之后 : 先求值,再进行递增递减操作

关系运算符

  • 大小关系检测
    • 运算符 : <、<=、>、>=
    • 操作规则 : 数字间的比较,比较代数值
    • 操作规则 : 仅一个数字,将另外一个转化为数字并比较他们的代数值
    • 操作规则 : 字符串间的比较,逐字符比较它们的Unicode数值
    • 操作规则 : 运算数无法被转换维数值或字符串返回false
    • 操作规则 : 与NaN比较返回false
  • 等值关系检测
    • 相等比较 : null和undefined相等,NaN与任何数值都不相等包括其自身
    • 相同比较 : 只有数据类型相同,且数值相同时才能相同(=== 完全等于)

对象运算符

  • in : 判断左侧运算数是否为右侧运算数的成员
  • instancesof : 判断对象实例是否属于某个类或构造函数
  • new : 根据构造函数创建一个新的对象,并初始化该对象
  • delete : 删除指定对象的属性,数组元素或变量
  • .及[] : 存取对象和数组元素
  • () : 函数调用,改变运算符优先级等

逻辑运算符

  • !逻辑非
  • &逻辑与
  • |逻辑或

位运算符

  • 基础知识
  • 逻辑位运算
  • 位移操作
  • 复合赋值运算符

其他运算符

  • ?: 三目运算符,条件运算符,简洁的if else
  • typeof 类型判定运算符
  • , 逗号,在一行语句中执行多个不同的操作
  • void 舍弃运算数的值,返回undefined作为表达式的值