一、JavaScript运算符
1.算术运算符
表达式是用于JavaScript脚本运行时进行计算的式子,可以包含常量变量运算符。
(1) 加法
var box = 1 + 2; //等于3
var box = 1 + NaN; //NaN,只要有一个NaN就为NaN
(2)减法
var box = 100 - 70; //等于30
var box = -100 - 70 //等于-170
(3)乘法
var box = 100 * 70; //7000
var box = 100 * NaN; //NaN,只要有一个NaN即为NaN
(4) 除法
var box = 100 / 70; //1.42....
var box = 100 / NaN; //NaN
(5) 取余
var box = 10 % 3; //1,余数为1
var box = 100 % NaN; //NaN
(6)递增++
var box = 100;
++box; //把box累加一个1,相当于box = box+1,结果为101
var box = 100;
box++;
alert(box) //结果为101
(7) 递减--
--box; //把box累减一个1,相当于box = box-1
box--;
前置和后置的区别:
在没有赋值操作,前置和后置是一样的。但在赋值操作时,如果递增或递减运算符前置,那么前置的运算符会先累加或累减再赋值,如果是后置运算符则先赋值再累加或累减。
var box = 100;
var age = ++box; //age值为101
var height = box++; //height值为100
PS:+号的两种作用
var a = 1+1; //纯数值 就是加法
alert(a);
var a = 1+'123abc'; //数值和字符串 连接符作用 =1123abc
alert(a);
2.比较运算符
小于(<)、大于(>)、小于等于(<=)、大于等于(>=)、相等(==)、不等(!=)、全等(恒等)(===)、不全等(不恒等)(!==)
3. 赋值运算符
等于(=) 加等于(+=) 减等于(-=) 乘等于(*=) 除等于(/=) 取于等于(%=)
4.逻辑运算符
(1)逻辑与(AND) :&&
var box = (5 > 4) && (4 > 3) //true,两边都为true,返回true
(2)逻辑或(OR):||
var box = (9 > 7) || (7 > 8); //true,两边只要有一边是true,返回true
(3)逻辑非(NOT):!
5. 逗号运算符
逗号运算符可以在一条语句中执行多个操作。
var box = 100, age = 20, height = 178; //多个变量声明
6.三元条件运算符
三元条件运算符其实就是后面将要学到的if语句的简写形式。
var box = 5 > 4 ? '对' : '错'; //对,5>4返回true则把'对'赋值给box,反之。
7.运算符优先级
在一般的运算中,我们不必考虑到运算符的优先级,因为我们可以通过圆括号来解决这种问题。比如:
var box = 5 - 4 * 8; //-27
var box = (5 - 4) * 8; //8
但如果没有使用圆括号强制优先级,我们必须遵循以下顺序:
运算符 | 描述 |
. [] () | 对象成员存取、数组下标、函数调用等 |
++ -- ~ ! delete new typeof void | 一元运算符 |
* / % | 乘法、除法、去模 |
+ - + | 加法、减法、字符串连接 |
< <= > >= instanceof | 关系比较、检测类实例 |
== != === !== | 恒等(全等) |
& | 位与 |
^ | 位异或 |
| | 位或 |
&& | 逻辑与 |
|| | 逻辑或 |
?: | 三元条件 |
= x= | 赋值、运算赋值 |
, | 多重赋值、数组元素 |