js运算符

qq_42543358 2018-06-25 05:52:56
var j=1; j=(j++)+j+(j++)+(++j)+j; 答案等于13,就是不知道怎么算出来的,求告知
...全文
5489 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
j++ 和++j 都是自加
区别在于
J++是使用前自加 就是一段代码 你执行到了 先加再说
++j是使用后自加 一段代码 执行到了 相当于 ++j 看成J 然后这段代码块跑玩了 j再++
風灬雲 2020-09-14
  • 打赏
  • 举报
回复
var j=1; j =(j++) + j + (j++) + (++j) + j; 1 + 2 + 2 + 4 + 4 J++ 先 返回 j 的值 再对j做 +1 运算 ++j 先对j做 +1 运算 再返回运算后的结果
qq_50744167 2020-09-11
  • 打赏
  • 举报
回复
j++ =j自增前的值(原值) 记住此时J已自增
++j=j自增后的值(新值) 同样,j已自增
j=2+2+3+4+4
濮家大少 2020-09-11
  • 打赏
  • 举报
回复
首先你要知道,这个运算是从右往左执行的 1.先计算最右边的两个(++j)+j,此时j=2,等价于2+1 2.然后往左推,(j++)+2+1,此时j=3,等价于3+2+1 3.接着往左推,j+3+2+1,此时j=3,等价于3+3+2+1 4.接着往左推,(j++)+3+3+2+1,此时j=4,等价于4+3+3+2+1 5.得出结果为13
ambit_tsai-微信 2018-06-25
  • 打赏
  • 举报
回复
引用 5 楼 qq_42543358的回复:
[quote=引用 4 楼 ambit_tsai的回复:][quote=引用 3 楼 qq_42543358 的回复:]
[quote=引用 1 楼 天际的海浪的回复:](j++) //先返回1,再让j增加1,j为2
+
j //之前返回1 加 j 结果为3
+
(j++) //先计算之前的结果3 加 j 结果为5 ,再让j增加1,j为3
+
(++j) //先让j增加1,j为4 再计算之前的结果5 加 j 结果为9
+
j; //之前的结果9 加 j 结果为13

j++,直接就先运算出来吗[/quote]
若j为1,console.log(j++)输出的是1,因为j会先输出,然后再进行自增,
如果再console.log(j)一下,就会发现j是2。[/quote] 那这种一行之内的直接增量了?[/quote] 没错,从左至右计算。
天际的海浪 2018-06-25
  • 打赏
  • 举报
回复
引用 5 楼 qq_42543358 的回复:
[quote=引用 4 楼 ambit_tsai的回复:][quote=引用 3 楼 qq_42543358 的回复:]
[quote=引用 1 楼 天际的海浪的回复:](j++) //先返回1,再让j增加1,j为2
+
j //之前返回1 加 j 结果为3
+
(j++) //先计算之前的结果3 加 j 结果为5 ,再让j增加1,j为3
+
(++j) //先让j增加1,j为4 再计算之前的结果5 加 j 结果为9
+
j; //之前的结果9 加 j 结果为13

j++,直接就先运算出来吗[/quote]
若j为1,console.log(j++)输出的是1,因为j会先输出,然后再进行自增,
如果再console.log(j)一下,就会发现j是2。[/quote]
那这种一行之内的直接增量了?[/quote]
i++ 是先返回i原来的值,再对i增加1
++i 是先对i增加1,再返回i改变后的值
qq_42543358 2018-06-25
  • 打赏
  • 举报
回复
引用 4 楼 ambit_tsai的回复:
[quote=引用 3 楼 qq_42543358 的回复:]
[quote=引用 1 楼 天际的海浪的回复:](j++) //先返回1,再让j增加1,j为2
+
j //之前返回1 加 j 结果为3
+
(j++) //先计算之前的结果3 加 j 结果为5 ,再让j增加1,j为3
+
(++j) //先让j增加1,j为4 再计算之前的结果5 加 j 结果为9
+
j; //之前的结果9 加 j 结果为13

j++,直接就先运算出来吗[/quote]
若j为1,console.log(j++)输出的是1,因为j会先输出,然后再进行自增,
如果再console.log(j)一下,就会发现j是2。[/quote] 那这种一行之内的直接增量了?
ambit_tsai-微信 2018-06-25
  • 打赏
  • 举报
回复
引用 3 楼 qq_42543358 的回复:
[quote=引用 1 楼 天际的海浪的回复:](j++) //先返回1,再让j增加1,j为2
+
j //之前返回1 加 j 结果为3
+
(j++) //先计算之前的结果3 加 j 结果为5 ,再让j增加1,j为3
+
(++j) //先让j增加1,j为4 再计算之前的结果5 加 j 结果为9
+
j; //之前的结果9 加 j 结果为13

j++,直接就先运算出来吗[/quote]
若j为1,console.log(j++)输出的是1,因为j会先输出,然后再进行自增,
如果再console.log(j)一下,就会发现j是2。
qq_42543358 2018-06-25
  • 打赏
  • 举报
回复
引用 1 楼 天际的海浪的回复:
(j++) //先返回1,再让j增加1,j为2
+
j //之前返回1 加 j 结果为3
+
(j++) //先计算之前的结果3 加 j 结果为5 ,再让j增加1,j为3
+
(++j) //先让j增加1,j为4 再计算之前的结果5 加 j 结果为9
+
j; //之前的结果9 加 j 结果为13
j++,直接就先运算出来吗
ambit_tsai-微信 2018-06-25
  • 打赏
  • 举报
回复
考点: var a = i++;等价于var a = i; i = i + 1; i++是先输出i,再进行自增 var a = ++i;等价于i = i + 1; var a = i; ++i是先进行自增,再输出i
天际的海浪 2018-06-25
  • 打赏
  • 举报
回复
(j++) //先返回1,再让j增加1,j为2
+
j //之前返回1 加 j 结果为3
+
(j++) //先计算之前的结果3 加 j 结果为5 ,再让j增加1,j为3
+
(++j) //先让j增加1,j为4 再计算之前的结果5 加 j 结果为9
+
j; //之前的结果9 加 j 结果为13
内容概要:本文系统研究了基于CNN-SVM的卷积神经网络与支持向量机融合的数据分类预测方法,聚焦其在工业故障识别中的应用,提供了完整的Matlab代码实现。通过CNN提取输入数据的深层空间特征,再由SVM进行高精度分类,充分发挥两者优势,有效提升了故障识别的准确性、鲁棒性与泛化能力。该方法特别适用于处理电力系统、机械设备等领域的高维、非线性、强噪声监测数据,在变压器故障诊断、轴承缺陷识别等场景中具有重要应用价值。文档还整合了机器学习、深度学习、图像处理、路径规划、电力系统优化等多个前沿科研方向的技术资源,配套大量Matlab/Simulink仿真案例与Python代码,全面支持科研复现与工程实践。; 适合人群:具备一定编程基础,熟练掌握Matlab或Python语言,从事电气工程、自动化、人工智能、机械故障诊断等相关领域研究的研发人员及高校研究生; 使用场景及目标:① 实现工业设备的状态监测与多类别故障分类;② 深入理解CNN与SVM融合模型的设计原理与工程实现细节;③ 借助所提供的丰富算法案例开展科研复现、模型优化与系统仿真验证; 阅读建议:建议按照文档目录结构系统化学习,结合百度网盘提供的完整代码资源进行动手实践,重点关注CNN特征提取层与SVM分类器之间的数据接口设计与参数调优策略,同时可延伸学习文中涉及的其他智能算法及其在电力系统、信号处理等领域的交叉应用,全面提升科研创新能力。

87,988

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧