- 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显示未定义
|