JS的幾個小測試錯題改錯

  1. var a=3;var b=2;var c=a+++b;c的值爲(5),a的值爲(4)算法過程:a=3 b=2 c=a+++b;a++後,a=4,但a不參與預算,因此c=a+b=3+2=5;其實將計算式改爲:c=a+b,a++以後更能理解。2.var a=2,b=1,c=3;if(a<b)if(b<0)c=0;else c++;console.log(c);c的值爲(3);很慚愧這道題我又作錯了,下來想了想,對本身想說句:「媽的!智障。」解析:var a=2,b=1,c=3;if(a<b){ if(b<0)c=0;}else {c++;}console.log(c);c的值爲(3);凡有點編程基礎的一目瞭然,不解釋了,丟臉了。3.var i=0;if(i=10){document.write(1);}else{document.write(0);}結果:1分析:var i=0;if(i=10)//賦值語句並不是判斷語句{document.write(1);}else{document.write(0);}而後都懂了吧。是否是有人也和我同樣,馬馬虎虎作完,看完結果一臉懵逼。4.var arr=[2,3,4,5,6]var sum=0;for(var i=1;i<arr.length;i++){sum+=arr[i];sum--;}console.log(sum);結果:14分析:首先arr的長度爲5,再者它是從1開始循環的並不是從0開始,因此只循環4次,並且是從arr[1]=3開始的,並非arr[0]=2開始的。屢清楚這些那一切都好作了,每次相加減一,循環四次。結果:14;5.var x=1,y=z=0;function add(n){n=n+1;}y=add(x);function add(n){n-n+3;}z=add(x);x,y,z的結果爲:1 未定義 未定義解析:var x=1,y=z=0;function add(n){n=n+1;}//無返回值y=add(x);//參數傳入正確,但函數並無返回值,爲空,因此y顯示未定義function add(n){n-n+3;}z=add(x);//參數傳入正確,但函數並無返回值,爲空,因此z顯示未定義
相關文章
相關標籤/搜索