为了账号安全,请及时绑定邮箱和手机立即绑定

请看代码中注释处的疑问!关于 n=n++,n++,n=n+1的理解不明白

<script type="text/javascript">

var infos=[['小A','女','21','大一'],['小B','男','23','大三'],['小C','男','24','大四'],['小D','女','21','大一'],
           ['小E','女','22','大二'],['小F','男','21','大一'],['小G','女','22','大二'],['小H','女','20','大三'],
           ['小I','女','20','大一'],['小J','男','20','大三']];//第一步把之前的数据写成一个数组的形式,定义变量为 infos
document.write("第一次筛选"+"<br />");
var one=new Array();
var n=0;
for(var i=0;i<infos.length;i++)
{
    if(infos[i][3]=="大一")
    {
        document.write(infos[i]+"<br />");
        one[n]=infos[i];
        n++;//此处为什么n++或者n=n+1就好使,为什么不能直接写n=n++
    }
}
document.write("第二次筛选"+"<br />");
for(var j=0;j<one.length;j++)
{
    if(one[j][1]=="女")
    {
        document.write(one[j]+"<br />");
    }
}
</script>

正在回答

3 回答

举个例子,定义s=0,n=3.

比如  s = n++; 就是先把n的值给s然后执行n++(就是n=n+1),所以运行结果是s=3,n=4;

如果是s=++n;就是先执行n++,这时候n=4,再赋值给s,所以运行结果是s=4,n=4.

0 回复 有任何疑惑可以回复我~
#1

大年糕 提问者

非常感谢!
2017-02-18 回复 有任何疑惑可以回复我~

n++本身就属于一种简略写法,即n++  等同于 n=n+1;

0 回复 有任何疑惑可以回复我~

你如果写成n=++n,就对了。这是因为n++是先把n的值赋给等号左边,然后再自加,而++n是先n自加,再赋值。

0 回复 有任何疑惑可以回复我~
#1

大年糕 提问者

还是没明白 能举例说的详细点吗?
2017-02-17 回复 有任何疑惑可以回复我~
#2

慕粉1938447112 回复 大年糕 提问者

楼下那个家伙举例就可以,你看看,没啥技术含量。其实真的不必纠结它为何这样,只要记住它的用法就好,如果你非的弄明白原理,那就要翻底层函数了(我也没翻过)。
2017-02-17 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

请看代码中注释处的疑问!关于 n=n++,n++,n=n+1的理解不明白

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信