三、JavaScript的运算符

2016-05-02  本文已影响10人  XZ阳光小熊

一、赋值运算符

1、算术运算符
算术运算符包含:加(+)、减(-)、乘(*)除(/)和取余(%)。

<script type="text/javascript">
    var a = 9;
    var b = 2;
    console.log(a + b); //加
    console.log(a - b); //减
    console.log(a * b); //乘
    console.log(a / b); //除
    console.log(a % b); //取余,即2不能被9整除其值为余数1
</script>

2、自增自减运算符
自增自减运算符包含:++、--、+=、-=、*=、/= 。

<script type="text/javascript">
    var a = 9;
    var b = 3;
    a ++;      //等价于 a+1 此时运算结果依然还是9,因为++放在后面等于先取值再运算(即先用后加),故其运算结果为9;
    ++ b;      //此时运算结果是4,因为++放在前面等于先运算再赋值(即先加后用),故其运算结果为4;
    a --;      //等价于 a-1 此时运算结果是10,因为--放在后面等于先取值再运算(即先用后减),故其运算结果为10;
    -- b;      //此时运算结果是3,因为--放在前面等于先运算再赋值(即先减后用),故其运算结果为3;
    a += b;    //等价于 a+b
    a -= b;    //等价于 a-b
    a *= b;    //等价于 a*b
    a /= b;    //等价于 a/b
</script>

注意:++和--放在前面和后面的区别。

二、非等值运算符

非等值运算符包含:>、<、>=、<=。

三、等值运算符

等值运算符包含:==、===。
1、==等值运算符,先转换成相同数据类型,然后进行比较。
1、===等值运算符,先比较数据类型,类型相同在比较值。

<script type="text/javascript">
    var a = '1';
    var b = 1;
    var c = true;
    console.log(a == b);   //此时返回的值为true
    console.log(a == c);   //此时返回的值为true
    console.log(a === b);  //此时返回的值为false
</script>

注意:基本数据类型都会同时向number靠拢。上面例子中变量a的值是一个字符串,变量c的值是个布尔值,将它们同时与变量b进行比对,==会将它们都转化为数字然后进行比较,此处的布尔值true会被转换为1,如果是false将会被转换为0。

四、逻辑运算符

逻辑运算符包括:逻辑与(&&)、逻辑或(||)、逻辑非(!)。
1、逻辑与(&&)
逻辑与需要逻辑运算符两边的表达式同时为true(真),其结果就为true(真)否则即为false(假)。

<script type="text/javascript">
    var a = 3;
    var b = 1;
    var c = 4;
    console.log(a < c && a > b);  //此时返回的值为true
    console.log(a > c && a > b);  //此时返回的值为false
</script>

注意:以上例子中,第二次打印因为逻辑运算符左边的表达式为false(假),故其打印的的结果也为false。实际上当其左边的表达式为false时,其右边的表达式便不会再进行运算,这种现象被称为逻辑与的短路现象,在实际应用中常将逻辑与的这种特性应用于分支结构的判断。
2、逻辑或(||)
逻辑或只要逻辑运算符两边的表达式只要有一个为true(真),其整个表达式就为true(真)否则即为false(假)。

<script type="text/javascript">
    var a = 3;
    var b = 1;
    var c = 4;
    console.log(a < c || a < b); //此时返回的值为true
</script>

注意:以上例子中,打印因为逻辑运算符左边的表达式为true,所以它整个表达式也为true。实际上当其左边的表达式为true时,其右边的表达式便不会再进行运算,这种现象被称为逻辑或的短路现象,在实际应用中常将逻辑或的这种特性应用于分支结构的判断。
3、逻辑非(!)
用于取与表达式相反的值。


以上内容纯属个人理解,由于水平有限,若有错漏之处敬请指出斧正,小弟不胜感激。

上一篇下一篇

猜你喜欢

热点阅读