第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定

a=a++與a++的問題

<!DOCTYPE ?HTML>

<html >

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>流程控制語句</title>

<script type="text/javascript">

?//第一步把之前的數(shù)據(jù)寫成一個(gè)數(shù)組的形式,定義變量為 infos

?var infos=[

? ? ?['小A','女',21,'大一'],

? ? ? ? ? ? ['小B','男',23,'大三'],

? ? ? ? ? ? ['小C','男',24,'大四'],

? ? ? ? ? ? ['小D','女',21,'大一'],

? ? ? ? ? ? ['小E','女',22,'大四'],

? ? ? ? ? ? ['小F','男',21,'大一'],

? ? ? ? ? ? ['小G','女',22,'大二'],

? ? ? ? ? ? ['小H','女',20,'大三'],

? ? ? ? ? ? ['小I','女',20,'大一'],

? ? ? ? ? ? ['小J','男',20,'大三']

?];

?//第一次篩選,找出都是大一的信息

?var arrar=new Array();

? var a=0;

?for(var i=0;i<infos.length;i++){

? ? ?if(infos[i][3]=="大一"){

? ? ? ? ?document.write(infos[i]+"<br>")

? ? ?arrar[a]=infos[i];

? ? ?a++;

? ? ?}

?}

?//第二次篩選,找出都是女生的信息

?document.write("<br>"+"第二次篩選出來的"+"<br>");

?for(var j=0;j<arrar.length;j++){

?if(arrar[j][1]=='女'){

? document.write(arrar[j][0]+"<br>");

?}

?}

</script>

</head>

<body>

</body>

</html>

這里是a++,能得到答案?

小A,女,21,大一
小D,女,21,大一
小F,男,21,大一
小I,女,20,大一


第二次篩選出來的
小A
小D
小I

但里面的a++換成a=a++之后,答案就變成了:

小A,女,21,大一
小D,女,21,大一
小F,男,21,大一
小I,女,20,大一

第二次篩選出來的
小I

求大神解答這是為什么

正在回答

4 回答

我試了一下,a++是自加,每次循環(huán)都加一,所以使用a++時(shí),第一次篩選之后arrar[]有四個(gè)變量,array[][]中含有大一學(xué)生的信息,可以供第二次篩選使用。

但是 a=a++代表著什么呢?a自己加一,然后把加一前的值又付給了a,所以a是不變的,第一次篩選的循環(huán)里,a[]的長度始終是1,a[0]的值被不斷刷新,最后留下了最后一個(gè)符合要求的,a=[? ?['小I','女',20,'大一'] ?],所以你第二次篩選的時(shí)候,只能出來小I,因?yàn)榈谝淮魏Y選的錯(cuò)誤的.

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Mr丶Jia 提問者

非常感謝!
2016-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

a++是先用后加,++a是先加后用。比如說:對(duì)于a=1,執(zhí)行b=a++時(shí)相當(dāng)于先后執(zhí)行b=a,a++,因而b=1,a=2。而執(zhí)行b=++a時(shí)相當(dāng)于先后執(zhí)行a++,b=a,因而a=2,b=2。而你的問題中的a=a++,你可以嘗試打出a的值,你的a的值應(yīng)該永遠(yuǎn)等于0,你的第二次數(shù)組里存的永遠(yuǎn)是最后一個(gè),你第二次篩選的自然就是錯(cuò)誤的結(jié)果

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Mr丶Jia 提問者

謝謝!
2016-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

a++的意思是a=a+1,當(dāng)a=0時(shí)a會(huì)先自增+1然后再賦值給a,a的值會(huì)是0.1.2.3。a=a++:等號(hào)右邊的a會(huì)先賦值給左邊的a(a的初值為0,a=a,a=0;),然后右邊的a再自增1,但是自增過不會(huì)再賦值給左邊的a,所以左邊的值會(huì)一直為0,循環(huán)第一次時(shí)arrar[0]=A,第二次時(shí)a還是0,arrar[0]=D,此時(shí)他就會(huì)把前面的arrar[0]=A覆蓋,以此類推最后結(jié)果就是arrar[0]=小I。如果你把a(bǔ)=a++換成a=++a,結(jié)果就會(huì)變成正常結(jié)果,a=++a會(huì)先自增1再賦值,和a++效果一樣。你可以自己研究一下b=a++和b=++a的區(qū)別。

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Mr丶Jia 提問者

好的,謝謝
2016-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

a++的意思就是a+=1 ?也就是a = a+1,干嘛前面還要加個(gè)a=a++

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Mr丶Jia 提問者

那兩者有啥區(qū)別呢,都是加1啊
2016-12-28 回復(fù) 有任何疑惑可以回復(fù)我~

舉報(bào)

0/150
提交
取消
JavaScript進(jìn)階篇
  • 參與學(xué)習(xí)       468781    人
  • 解答問題       22507    個(gè)

本課程從如何插入JS代碼開始,帶您進(jìn)入網(wǎng)頁動(dòng)態(tài)交互世界

進(jìn)入課程

a=a++與a++的問題

我要回答 關(guān)注問題
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)