請看代碼中注釋處的疑問!關于 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>
2017-02-17
舉個例子,定義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.
2017-02-17
n++本身就屬于一種簡略寫法,即n++ ?等同于 n=n+1;
2017-02-17
你如果寫成n=++n,就對了。這是因為n++是先把n的值賦給等號左邊,然后再自加,而++n是先n自加,再賦值。