javascript - 关于自增自减运算符的问题
迷茫
迷茫 2017-04-10 15:51:41
[JavaScript讨论组]

自增自减运算符只能对变量生效,对常量无法使用。
那么即是说:
int a=1;
a++;
这样是可行的,而1++;是false的。
那么有个疑问
int[] a=new int[100];
a[3]++;
这样确实可行的,是为什么呢?
a[3]不是一个常量0吗?

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
天蓬老师

a[3]的值是0,但a[3]本身是个变量

a[3]=0
变量=值
PHPz

说实话,建议少用++之类的运算符。
比如:

(++i)+(i++)+(i++)+(i++)

同样的代码用不同的语言,不同的编译环境,不同的运行环境,可能会有不一样的结果。
(编译器优化效果的不同,CPU架构的不同等等原因)

a++写成a = a + 1,不就清晰多了?
1++就是1 = 1 + 1,发现错误了没?
a[3] = a[3] + 1,没问题吧?

黄舟

我就是在说你"痛恨"的东西啊。。。
index++;
这哪儿看不懂了

if (index++ < 128) {......}  // 用++运算符的写法1
if (index < 128){  //不用++的写法2
    index = index + 1;
    ......
}

哪一个更简洁自行判断。
当然前面说了
i++ + ++i + i++;
这种东西本身就是UB,早就该拖出去打死了。。。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号