美文网首页
javascript精雕细琢(二):++、--那点事

javascript精雕细琢(二):++、--那点事

作者: 自由使徒 | 来源:发表于2018-11-18 22:35 被阅读3次

目录

  • 引言
  • ++和--在数学运算中的计算规则
  • ++和--在变量引用时的计算规则
  • ++和--的数据转换应用
  • 结语

引言

       对于接触JS时间不长的前端来说,刚开始要实现诸如轮播图,选项卡等小模块时,肯定会用到index索引来实现。而这其中很大一部分又会使用++(自加)、--(自减),所以清楚的知道++(自加)、--(自减)的计算模式,可以在运用时减少错误。本文将从数学运算、变量引用、数据转换3个方面,对++(自加)、--(自减)进行一个详细的说明,力求达到一个在通读全文后,明确++(自加)、--(自减)应用方式的效果。

一、++和--在数学运算中的计算规则

       老规矩,先上代码:

        let a = 1,
            b = 1;
        let num1 = a++ + b++, //num1执行前a=1,b=1,num1执行后a=2,b=2
            num2 = a++ + ++b, //num2执行前a=2,b=2,num2执行完后a=3,b=3
            num3 = ++a + b++, //num3执行前a=3,b=3,num3执行完后a=4,b=4
            num4 = ++a + ++b; //num4执行前a=4,b=4,num4执行完后a=5,b=5
        console.log(num1);    //结果为2,步骤分解: a + b(1 + 1)=> a++(2) => b++(2) => a=2,b=2;
        console.log(num2);  //结果为5,步骤分解: a + (++b)(2 + 3) => a++(3) => a=3,b=3;
        console.log(num3);  //结果为7,步骤分解: (++a) + b(4 + 3) => b++(4) => a=4,b=4;
        console.log(num4);  //结果为10,步骤分解: (++a) + (++b)(5 + 5) => a=5,b=5;

       通过以上代码,可以总结出++和--在数学运算出的计算规则如下(加减乘除没区别):

  1. ++、--写在变量前时,数学计算时,引用的是++、--未执行的变量值;
  2. ++、--写在变量后时,数学计算时,引用的是++、--执行后的变量值;

       通过以上的理解,就不难看出,num1得到的求和结果实际上就是a + b,而num2实际上是a + (++b),num3是(++a) + b,num4是(++a) + (++b),但是求和归求和,++、--只是没在求和结果中执行,实际上变量的++、--都是执行了的,这一点要明确。

二、++和--在变量引用时的计算规则

       上代码:

        let num1 = 0,
            num2 = 0;
        let arr = [0, 1, 2, 3, 4, 5, 6];
        console.log(arr[num1++]); // 0  num1=1
        console.log(arr[++num2])  // 1  num2=1

       通过以上代码,不难看出,当在变量引用时执行++、--,与数学运算有相似的规律。总结起来就是一句话——++、--在变量前,引用++、--执行后的变量值;++、--在变量后,引用当前变量值(即执行++、--前的值)

三、++和--的数据转换应用

       上代码:

        let a = true;
        let b = false;
        let c = "a";
        console.log(++a); //2
        console.log(b++); //0
        console.log(c++); //NaN

       总结——对非Number类型的数据,应用++、--,相当于执行了Number()方法。如果转换后是number类型,则按上边的规则执行++和--,如果转换后不是number类型,则不执行++和--。输出NaN。不能直接进行类似++true的操作,必须通过声明变量值为true或false,然后再++、--。

结语

       越是简单常用的技巧,可能越容易被人忘记它的其他方面。保持一颗蓝翔毕业的心,挖掘所有东西~
       本文同时发布于我的博客园https://www.cnblogs.com/keepStudying/p/9743457.html
       转载请注明出处

相关文章

  • javascript精雕细琢(二):++、--那点事

    目录 引言 ++和--在数学运算中的计算规则 ++和--在变量引用时的计算规则 ++和--的数据转换应用 结语 引...

  • 关于JavaScript的那点事(二)

    JavaScript最初的目的:判断客户端的输入; JavaScript现在的意义:用于页面特效(PC端的网页效果...

  • 关于JavaScript的那点事

    HTML----从页面结构,语义上描述页面 CSS------从审美的角度装饰页面 JavaScript--从交互...

  • iOS时间那点事--NSDateFormatter

    文章出处 iOS时间那点事--NSDate iOS时间那点事--NSDateFormatter iOS时间那点事-...

  • 陪读时那点事|文集目录

    【陪读时那点事】01|学校旁的出租屋 【陪读时那点事】02|菜市场 【陪读时那点事】03|黑色球鞋 【陪读时那点事...

  • 童年那点事(二)

    女孩子玩的踢毽子、跳绳、跳房子……我不会,没有像其他女孩子一样扎蝴蝶结,也没有扎马尾辫,却想男孩子一样留的是寸发,...

  • 按摩那点事(二)

    男技师还是女技师这其实并不是很重要的事情,如果男女技师都经过正规的科班培训,而不是半路出山的,技术都很好,选男还是...

  • 初恋那点事(二)

    叶有一个英语学习机,迷你版的,一只手那么大。为了能和他多说上话,我总是喜滋滋的蹭到他位子上,向他借,说是要查单词。...

  • 运动那点事(二)

    单位每两年都会进行一次例行体检,以前“营养不良”的时候,体检一点问题没有,现在“生活富足”了,体检单上反而多了些...

  • 人性那点事(二)

    今天继续谈谈人性的那点事---索取(自私)心。人的本性,有,是正常的,但很多时候我们自己是不自知或者说知道但也会做...

网友评论

      本文标题:javascript精雕细琢(二):++、--那点事

      本文链接:https://www.haomeiwen.com/subject/nhsnfqtx.html