js运算符
- 算数运算符
- 比较(关系)运算符
- 逻辑运算符
- 三元运算符
- 赋值运算符
注意:
从1到5运算符的优先级依次减弱
算数运算符
- +加
- -减
- *乘
- /除
- %取余
- ++累加
- –累减
+运算符
let num1 = 10;
let num2 = 20;
let num3 = num1 + num2;
console.log(num3);
如果 + 的两边有一个是字符串,则表示的是字符串的拼接
原理:如果两个不同类型的数据(相加),有一个是字符串,则另一个数据会被隐式转化为字符串,然后通过 + 和另一个数据拼接在一起
let str = '莫愁前路无知己'
let num4 = str + num2 +num2;
console.log(num4);
let str1 = '西出阳关无故人';
console.log(str+str1);
let num5 = num2 + num2 +num2 + str1;
console.log(num5);
-运算符
- -运算符,可以把他两边的字符串类型 隐式转化为 数字类型
-
如果被转化的字符串是 一个数字,则参与减法运算
-
如果被转化的字符串是 一个普通字符,则得出的结果是 NaN
-
除了 + 运算的时候,把数字转化为字符串,其他的算数运算符都是把字符串转化为数字
-
let num6 = 200;
let num7 = 100;
let num8 = '300';
console.log( num6 - num7 );
console.log( str1 - num7 );
console.log( num7 - str1 );
console.log( num6 + num8 );
console.log( num6 - num8 );
- js 通过 input 的 value属性获取的值,是一个字符串,通过隐式转化 变成一个 数字
let t1 = txt1.value - 0;
let t2 = txt2.value - 0;
alert( t1 + t2);
* / 运算
let num1 = 2;
let num2 = 3;
let str1 = '梦'
console.log(num1*num2);
console.log(num1/num2);
console.log( 0.1 + 0.2 );
% 取余运算
% 取余,又称 模运算
运算的结果是 相除之后的余数
被除数%除数…余数 返回结果是 余数
被除数和除数不一定都是整数
let num3 = 10;
let num4 = 3;
console.log( num3 % num4 );
console.log(9.3 % 2.1);
++ --运算
- ++
- a++ ++a 都是自增写法
- c = a++;先把a的值赋值给c,然后再执行a的自增
- c = ++a;先再执行a的自增,然后再把a的值赋值给c
- –
- a-- ,–a ,自减
- c=a–;先把a的值赋值给c,然后再执行a的自减
- c=–a;先再执行a的自减,然后再把a的值赋值给c
- ++ 和 – 的运算优先级高于 + - * / %
let num5 = 10;
//++num5;
//num5++;
//let num6 = 5;
//console.log( num5 );
// console.log( num5++ );
console.log( ++num5 );
let a = 10;
let c = a++; //1.把a的值赋值给c,此时c=10;2.执行a的自增,此刻a=11;
console.log(c,a);
let k = 10;
let m = (k++)+3;
console.log(k,m);
let n = 13;
let s = ++n+(n++)+n;
/*
1. ++n,n的值变成了 14,此时让n=14参与后来的运算
2. n++,先把n的值取出来, n=14 参与当前的一步的计算,然后n++(n=15),参与后来的运算
3. s = 14 +14 +15;
*/
console.log(s);
let j = 14;
let num6 = j++ + --j + j-- + ++j;
// 14 14 14 14
console.log(num6);
取整
使用 parseInt(num) 把数字num 直接转化为整数,他会去掉num的小数部分
let num = 325;
let s =num/100;
console.log( parseInt(s) );
关系运算符
关系运算符
1. > 大于,
2. < 小于,
3. >= 大于等于,
4. <= 小于等于,
5. = = 等于
6. != 不等于,
7. === 全等,
8. != = 不全等。
关系表达式 的 返回值是 true 或者 false
注意:
= = 只比较数值,不比较类型
=== 不但比较数值,而且比较类型
逻辑运算符
- 逻辑运算符
- 或 ||
- 与(并且) &&
- 非 !
- 判断规则
- 或 || : 两边的判断条件,只要有一个为真(true),则返回结果为真(true)
- 与 && :两边的判断条件都为真(true),则返回结果为真(true)
- !:取当前结果返回的布尔值的 反向值,就是取反的意思。
// 只有一个为true,返回结果是 false
console.log(3>4 && 2<3);
// 两个同时为true,返回结果是 true
console.log(3<4 && 2<3);
console.log(3<4 && 2>3);
if(!(3<4)){
console.log('今天晚上做作业');
}else{
console.log('今天晚上做练习');
}
//0 为false,非0数字为true
if(0){
console.log('今天晚上吃米饭');
}else{
console.log('今天晚上不吃饭');
}