运算符
算术运算符:
- 加法运算符:数字的加法 字符串的加法
数字的加法:就是简单的数字相加,要求加好两边都是数值类型
字符的加法是:字符串的拼接,只要加好两边又一边是字符串,那么这个运算就是字符的拼接(字符串必须是放在引号里的) - 减法运算符:数字的减法,会进行隐式类型转化,如果减号两边,有一边不是数字会自动转化为数字类型
- 乘法(*)与除法(/):就是简单的数字运算。
JS里面除法运算的除数是可以为0,结果是无穷(infinity) - 取余(%):余数运算,就是除法运算在得到结果为整数的情况下,被除数剩下的值
eg: 余数:5 2 2 ----1 5 % 2 = 1
console.log(5%2)
取余运算的符号只与被除数有关,被除数是什么符号,余数就是什么符号。 - 绝对值:某一个数字的整数值。
正数的绝对值就是本身,负数的绝对值是相反数,0的绝对值就是0
Math.abs()获取绝对值
虽然浮点数也能进行取余运算,但是极度不精确,建议不要使用。
案例:用JS实现表格的各行变色。
<!DOCTYPE html>
<html>
<head>
<title>表格变色</title>
<meta charset="utf-8">
</head>
<body>
<table style="border-collapse: collapse;" border="1" width="800px">
<tr>
<th>第一列</th>
<th>第二列</th>
</tr>
<tr>
<td>sahhdg</td>
<td>sgjjf</td>
</tr>
<tr>
<td>dsgssfh</td>
<td>fdjfdj</td>
</tr>
<tr>
<td>dsgssfh</td>
<td>fdjfdj</td>
</tr>
</table>
<script>
var oTr = document.getElementsByTagName('tr');
for(var i = 0;i<oTr.length;i++){
if(i%2 ==1){
oTr[i].style.background = 'red';
}else{
oTr[i].style.background = 'yellow';
}
if(i==0){
oTr[i].style.background = '#fff';
}
}
</script>
</body>
</html>
- 自增于自减运算:
- i++:对i加1然后结果赋值给i,和 i = i+1操作一样
- i--:对i减1然后结果赋值给i,和 i = i-1操作一样
- ++i:对i加1然后结果赋值给i,和 i = i+1操作一样
- --i:对i减1然后结果赋值给i,和 i = i-1操作一样
区别:
如果自增自减运算参与其他运算,那么后加加要先参加运算,然后在自增或者自减。前加加要先自增或者自减,然后在参加运算。
-
乘方运算():8^2
eg:alret(32); -
赋值运算:=
eg:
var a = 1;
a = a+2; ===>a += 2;
+=
-=
*=
/=
%=
- 比较运算符
- < 小于号、> 大于号
- ==判断值是否相等
- ===判断值是否不同
- !=判断值是否不同
- !==判断不全等
这个比较运算符一般都是使用在需要判断的地方,比如说if,while等小括号里面,返回值一定是一个布尔值
如果是数字与字符串进行比较,那么字符串会自动的转化数字并进行比较,如果是两个字符串进行比较,那么先比较第一个字符,第一个字符大的字符串大,第一个字符相同再比较第二个字符。
字符大小是按照Unicode编码确定的。
NaN与任何值比较都是false。
- 逻辑运算符
- && 与, 符号两边的条件同时符合才会返回true
- || 或, 符号两边只要有一边符合条件就会返回true
- ! 非, 取反,true转为false,false转为true
短路运算:
当逻辑判断操作前面的运算已经得出最终结果的时候,后面的操作就不在执行
eg:var i = 10;
if(4 > 2 || 10 > ++i){
console.log(i);
}
具体指:或操作的第一个判断返回true,与操作的第一个判断返回false
- 三元运算符
三元:三个操作数
自增,自减(一元操作符);i++
== >(二元操作符); a>b
三元操作的格式:
条件?操作1:操作2;
类似于:
if(条件){
操作1;
}else{
操作2;
}
网友评论