javascript学习笔记004—运算符

JavaScript的运算符按运算符类型可以分为以下5种:

  • 算术运算符;
  • 比较运算符;
  • 赋值运算符;
  • 逻辑运算符;
  • 条件运算符;

一、算术运算符

算数运算符有:加(+),减(-),乘(*),除(/),自增运算符(++),自减运算符(–).

1、自增运算符

“++”是自增运算符,它指的是在原来值的基础上加1,i++表示“i=i+1”。该运算符有2种情况:

(1)i++

“i++”指的是在使用i之后,使i的值加1。

举例:

i=1;
j=i++;

上面执行的结果:j的值为1,i的值为2。

其实上面代码等价于下面这一段代码:

i=1;
j=i;
i++;

(2)++i

“++i”指的是在使用i之前,先使i的值加1。

举例:

i=1;
j=++i;

上面的执行结果:j的值为2,i的值为2。

其实上面代码等价于下面这一段代码:

i=1;
i++;
j=i;

最后我们做个实验:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>test</title>
</head>
<body>
<script>
   var a=1;
   var b=a++;
   document.write('b='+b+'<br>');
   document.write('a='+a+'<br>');

    var i = 1;
    var j=++i;

    document.write('j='+i+'<br>');
    document.write('i='+i+'<br>');
</script>
</body>
</html>

浏览器输出的结果是这样的:

2、自减运算符

“–”是自减运算符,它指的是在原来值的基础上减1,i–表示“i=i-1”。该运算符同样有2种情况:

(1)i–

(2)–i

举例:

i=6;j=i--;//j的值为6,i的值为5
i=6;j=--i;//j的值为5,i的值为5

举例:JavaScript算术运算符

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var n1=6,n2=7;
        var m1=n1+n2;
        var m2=n1*n2;
        var m3=n1++;
        var m4=--n2;
        document.write("m1="+m1+"<br/>");
        document.write("m2="+m2+"<br/>");
        document.write("m3="+m3+"<br/>");
        document.write("m4="+m4+"<br/>");
    </script>
</head>
<body>
</body>
</html>

二、比较运算符

比较运算符其实就是判断大(>),小(<),等于(==),不等于(!=),恒等于(===)的运算符.如果判断结果是成立的那么反馈是true,判断结果是不成立的,反馈的是flase.

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        var age=12;
        document.write("age>20:"+(age>20)+"<br>");
        document.write("age<20:"+(age<20)+"<br>");
        document.write("age!=20:"+(age!=20)+"<br>");
        document.write("age<=20:"+(age<=20)+"<br>");
    </script>
</head>
<body>
</body>
</html>

结果:

三、赋值运算符

JavaScript中的赋值运算有2种:简单赋值运算和复合赋值运算.

简单赋值运算是将赋值运算符(=)右边表达式的值保存到左边的变量中.

复合赋值运算结合了其他操作和赋值操作.

举例:

sum=sum+i;//简单赋值运算;
sum+=i;//复合赋值运算,等价于sum=sum+i;
=	author="hello"
+=	a+=b等价于a=a+b
-=	a-=b等价于a=a-b
*=	a*=b等价于a=a*b
/=	a/=b等价于a=a/b
%=	a%=b等价于a=a%b
&=	a&=b等价于a=a&b(&是逻辑与运算)
|=	a|=b等价于a=a|b(|是逻辑或运算)
^=	a^=b等价于a=a^b(^是逻辑异或运算)

四、逻辑运算符

逻辑运算符通常用于执行布尔运算,常常和比较运算符一起使用来表示复杂比较运算,这些运算涉及的变量通常不止一个,而且常用于if,while和for语句中.

JavaScript中常用的算术运算符
运算符描述示例
&&逻辑与,若两边表达式的值都为true,则返回true;任意一个值为false,则返回false(8>5)&&(4<6),返回true;(8<5)&&(4<6),返回false
||逻辑或,只有表达式的值都为false,才返回false,其他情况返回true(8<5)||(4<6),返回true;(8<5)&&(4>6),返回false
!逻辑非,若表达式的值为true,则返回false;若表达式的值为false,则返回true!(9>2),返回false;!(9<2),返回true

举例:

<!DOCTYPE html> 
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        document.write((8 > 5) && (4 < 6)+"<br>");
        document.write((8 < 5) || (4 < 6)+"<br>");
        document.write(!(9 > 2));
    </script>
</head>
<body>
</body>
</html>

结果:

总结:

(1)true的!为false,false的!为true;

(2)a&&b,a、b全为true时,表达式为true,否则表达式为false;

(3)a||b:a、b全为false时,表达式为false,否则表达式为true;

五、条件运算符

条件运算符是JavaScript支持的一种特殊的运算符。

语法:

条件 ? 表达式1 : 表达式2;

说明:

如果“条件”为true,则表达式的值使用“表达式1”的值;如果“条件”为false,则表达式的值使用“表达式2”的值。

例如:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        var a=3;
        var b=5
        var c=(a<b)? "正确":"错误";
        document.write(c);
    </script>
</head>
<body>
</body>
</html>

返回的结果是”正确”.

六、typeof运算符

typeof运算符简介

在JavaScript中,typeof运算符用于返回它的操作数当前所容纳的数据的类型,这对于判断一个变量是否已被定义特别有用.

举例:

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title></title>
    <script type="text/javascript">
        document.write(typeof(1)+ "<br>");
        document.write(typeof("javascript")+ "<br>");
        document.write(typeof(null)+ "<br>");
        document.write(typeof(undefined)+ "<br>");
    </script>
</head>
<body>
</body>
</html>

结果:

分析:

很多人对typeof(null)返回的类型为是object觉得很疑惑!疑惑是很正常的.以后慢慢解释.