Javascript运算符分类:
- 算术运算符
- 比较(关系)运算符
- 逻辑运算符
- 赋值运算符
- 连接运算符
1.算术运算符
- ‘+’ :加
- ’- ‘ :减
- ’* ‘ :乘
- ’/ ‘ :除
- ’%‘:取余
- ’++‘:自增
- ’–‘:自减
2.比较运算符
- ’ > ‘:大于
- ’ < ‘:小于
- ’>=‘:大于等于
- ’<=‘:小于等于
- ’==‘:等于
- ’===‘:绝对等于(数值 与 类型都相等)
- ’!=‘:不等
- ’!==‘:绝对不相等(数值 或 类型不相等)
3.逻辑运算符
- &&:逻辑与 and,两边都为真,结果才为真
- || :逻辑或 or, 只要一边为真,结果就为真
- !:逻辑非 not,右边为假,结果为真,右边为真,结果为假。
1.逻辑非(!)
如果一个操作数是一个对象,返回false;
如果一个操作数是一个空字符串,返回true
如果一个操作数是一个非空字符串,返回false;
如果一个操作数是一个数值0,返回true;
如果一个操作数是任意的非零字符,返回false;
如果一个操作数是null,返回true;
如果一个操作数是NaN,返回true;
如果一个操作数是undefined,返回true;
2.逻辑与(&&)
(1)对于布尔值,逻辑与是非常简单的,只要有一个false,就返回false;
(2)对于不是布尔值的情况则:
如果第一个操作数是对象,则返回第二个数
如果第二个操作数是对象,则只有在第一个操作数的求值结果为true的情况下才会返回 该对象;
如果两个操作数都是对象,则返回第二个操作数
如果有一个操作数是null,则返回null
如果有一个操作数是NaN,则返回第NaN
如果第一个操作数是undefined,则返回undefined
3.逻辑或(\)
(1)对于布尔值,逻辑或是非常简单的,只要有一个true,就返回true;
(2)对于不是布尔值的情况则:
如果第一个操作数是对象,则返第一个操作数
如果第一个操作数的求值结果为false,则返回第二个操作数
如果两个操作数都是对象,则返回第一个操作数
如果两个操作数是null,则返回null
如果两个操作数是NaN,则返回NaN
如果两个操作数是undefined,则返回undefined
4.赋值运算符
- ‘=’:赋值运算符
- ’+=‘:a += 1 相当于 a = a + 1
- ’-=‘:a -= 1 相当于 a = a - 1
- ’*=‘:a *= 1 相当于 a = a * 1
- ’/=‘:a /= 1 相当于 a = a / 1
- ’%=‘:a %= 1 相当于 a = a % 1
5.连接运算符
’ + ':
1.只要“+”一边的操作数为字符串型数据,则不再执行加法运算,而执行连接运算。
2.连接后的结果为字符串型数据。
6.运算符优先级
小括号>算术运算符>比较运算符>逻辑运算符>赋值运算符