JS的几个小测试错题改错
- 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显示未定义
欢迎关注本站公众号,获取更多信息