javascript中先加加和后加加区别 ++a和a++区别解析

 更新时间:2023年09月12日 11:59:15   作者:upward_tomato  
从学习 javascript 开始,就对 先加加 和 后加加 模糊不清,时至今日,再来学习一下,这篇文章主要介绍了javascript中先加加和后加加区别++a和a++区别解析,需要的朋友可以参考下

javascript中先加加和后加加区别 ++a,a++

start

请问下列代码会输出什么内容?

var a = 1
var b = 1
var c = 1
console.log(a++)
console.log(++b)
console.log((c += 1))

思考

从学习 javascript 开始,就对 先加加 后加加 模糊不清,时至今日,再来学习一下。

  • 在使用变量时,当++在变量后面的时候,会先返回变量再做++处理。
  • 先加加,与上一条逻辑相反(先计算,再返回)。
  • c += 1可以理解为c = c + 1
  • 先减减后减减,和上述同理
var a = 1
var b = 1
var c = 1
console.log(a++) // 1
console.log(++b) // 2
console.log((c += 1)) // 2

补充:在JavaScript中,++在前和++在后有什么区别

一、
++可以与输出语句写在一起,++写在变量前和写在变量后不是一个意思
++ i 和 i ++ 区别在于运算顺序和结合方向。
在JavaScript中有两种自加运算,其运算符均为 ++,功能为将运算符自加 1。
其中:
++ VAR 被称为前自加,其后面的变量执行自加操作,其运算为,先执行自加操作,再引用VAR值。
VAR ++ 被称为后自加,其前面的变量执行自加操作,其运算为,先引用VAR值,再进行自加操作。
如果自加语句独立成为一个单独的语句,那么前后自加是完全相同的。
比如单独的一行
a ++; 和 ++ a; 是一样的。
1
再比如,常见的for循环:
    for(i = 0; i < 100; i ++)
    for(i = 0; i < 100; ++i)
1
2
这里用到的 ++ i 和 i ++ 是完全相同的,没有区别。
二、
当运算变量本身值会在自加语句中,同时执行其它操作,二者就有区别了。
比如
    var i = 0;
    while( i ++ < 10);
1
2
i会先和10比较大小,然后执行自加。这样当i=10时,退出循环,再执行一次自加,退出后i值为11。
而如果写成
    while(++ i < 10);
1
是先执行自加,然后再与10比较。这样在i=9时,先自加,得到i=10,然后比较就会退出循环了。这种情况下,退出后i值为10。
再举一个例子。
    var a, i = 10;
    a = i ++; //这里i要先赋值,再自加。语句执行后a=10, i = 11;
1
2
而如果写成:
    var a, i = 10;
    a = ++i; //这里i要先自加,再赋值。语句执行后a=11, i = 11;

到此这篇关于javascript中先加加和后加加区别 ++a,a++的文章就介绍到这了,更多相关js ++a和a++区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • js实现3D图片展示效果

    js实现3D图片展示效果

    本文主要介绍了js实现3D图片展示效果的实例,具有很好的参考价值。下面跟着小编一起来看下吧
    2017-03-03
  • javascript通过class来获取元素实现代码

    javascript通过class来获取元素实现代码

    javascript获取元素有很多的方法,本文简单的介绍下通过class获取元素的实现代码,感兴趣的朋友可以参考下,希望本文知识点可以帮助到你
    2013-02-02
  • JS一维数组转多维数组树的方法

    JS一维数组转多维数组树的方法

    这篇文章主要介绍了JS一维数组转多维数组树的方法,文章通过代码示例给大家讲解的非常详细, 对大家的学习或工作有一定的帮助,需要的朋友可以参考下
    2024-06-06
  • 微信小程序利用Canvas绘制图片和竖排文字详解

    微信小程序利用Canvas绘制图片和竖排文字详解

    这篇文章主要介绍了微信小程序利用Canvas绘制图片和竖排文字详解,合成图片应该按照 Canvas 的文档来做都没什么问题,主要是有个竖排文字的需求,这里和大家分享一下,需要的朋友可以参考下
    2019-06-06
  • 页面使用密码保护代码

    页面使用密码保护代码

    这是一个由JS实现的网页密码保护代码,在进入网页前需要在弹出框中输入密码才可以,不过现在不怎么用了,一般情况下,目前都在后台处理这种功能,用户输入用户名和密码后交给服务器处理,然后再返回信息,若登录无误就可看到某些内容
    2013-04-04
  • JavaScript对URL进行编码和解码的三种方式

    JavaScript对URL进行编码和解码的三种方式

    本文详细介绍了为何在URL中需要编码,列举了需要编码的字符,以及JavaScript中的escape,encodeURI,encodeURIComponent三种编码方式及其用途和注意事项,需要的朋友可以参考下
    2025-04-04
  • JavaScript 事件流、事件处理程序及事件对象总结

    JavaScript 事件流、事件处理程序及事件对象总结

    JS与HTML之间的交互通过事件实现,事件就是文档或浏览器窗口中发生的一些特定的交互瞬间,可以使用(或处理程序)来预定事件,以便事件发生时执行相应的代码,本文将介绍JS事件相关的基础知识,
    2017-04-04
  • Z-Blog中用到的js代码

    Z-Blog中用到的js代码

    Z-Blog中用到的js代码...
    2007-03-03
  • 面包屑导航详解

    面包屑导航详解

    本篇文章我们从面包屑导航的样式,面包屑导航的代码等方面详细给大家分析了它的作用和设计技巧,如果你有这方便的需要,学习参考下吧。
    2017-12-12
  • 用原生js做个简单的滑动效果的回到顶部

    用原生js做个简单的滑动效果的回到顶部

    很多网页在下方都会放置一个“返回顶部”按钮,这样可以帮助访客重新找到导航或者重温一遍广告,于是将返回顶部功能做成了滑动效果
    2014-10-10

最新评论