算术运算符
// + - * / %(取余或求模)
var ben = 200; // 赌本:200元
var quan = 30; // 打30圈
var money = 5; // 打一圈赢5元
console.log('你现在一共有' + (ben + quan * money) + 'rmb' );
var num = 30;
// 在JS中可以对整型和浮点型进行取余
console.log(num%7); // 2.5
num = -30;
console.log(num%7); // -2.5
num = 30;
// 整型乘以整型得到整型
console.log(quan*money); // 150
// 整型相除可能得到整型
console.log(num/money); // 6
// 除不尽的时候得到的是浮点型
console.log(num/7); // 4.285714285714286
// 浮点型相除,也有可能得到整型
var num = 4.8;
console.log(num/1.2); // 4
// 除以零,在编程语言中,不止js都要求除数不能为零
console.log(num/0); // Infinity
条件运算符
// >,<,==,!=,===,!==,>=,<=
// 条件运算符得到的结果是布尔值
if(3 > 2) {
console.log("3果然大于2");
}
// 判断两人年龄
var woman = 32;
var boy = 18;
if((woman - boy) >= 8) {
console.log('嫩牛吃老草');
}else {
console.log('凑和');
}
if((woman - boy) == 3) {
console.log('女大3抱金砖');
}
// === 全等于:不仅值相等,而且类型相等
var real = true;
var res = 1;
if(res) {
console.log("1也能出来?");
}
if(real == res) { // true 等于 1,
console.log("1和true相等");
} else {
console.log("1和true不相等");
}
if(real === res) { // true 不全等于 1
console.log("1和true值相等,类型也相等");
} else {
console.log("1和true值相等,类型不相等");
}
// 因此:1 == true,但是 1 !== true;
// + 号运算符,如果有一个操作数是字符串,那么最终得到的结果就是字符串。
赋值运算符
赋值运算就是把 = 右侧的值或表达式的值赋值给左侧的变量。
// 变量名 = 变量名 + - * / % 值
// 等价于
// 变量名 + - * / % = 值
a = a + 1; ==> a += 1;
逻辑运算符
逻辑与 &&,运算符两端同时成立(为真),整个运算结果才为真,否则,运算结果为假.
逻辑或 ||,运算符两端同时为假时,运算结果才为假,否则运算结果为真.
逻辑非 !,逻辑否定,黑白颠倒
逻辑与和逻辑或的短路现象:
var house = 2;
var car = 1;
// 表达式判断到house的时候,整个结果就已经可以判断完毕。
// 所以表达式的运算结果是 house 的值
var res = house || car;
console.log(res); // 2
house = 0;
res = house || car;
console.log(res); // 1
house=2;
car = 1;
res = car && house;
console.log(res); // 2
// 把house改为0
house=0;
res = car && house;
console.log(res); // 0
自增自减运算符
++a/--a :先把a的值加/减1,使用加/减1后的值
相当于 : a = a + 1; return a;
a++/a-- : 先返回a的值供使用,再把值加/减1
ruturn a; a = a +1;
三元运算符
条件运算符(三目运算符) 等价于if...else
条件表达式 ? 表达式1 : 表达式2;
如果条件表达式为真,整个运算的结果为表达式1的结果;
如果条件表达式为假,整个运算的结果为表达式2的结果
条件表达式也可以嵌套使用
表达式
由常量,变量,运算符组成的就是表达式,表达式都有结果。
表达式根据结果可以分为两类:
整型表达式 a + 5
条件表达式 a > 5
语句
语句是代码执行的最小单位
注:每条语句都会以分号结尾,js里的分号可以省略,但是建议加上分号。