x = row_w * i + row_w;不能改成x = row_w*(i+1);
来源:6-4 折线图画点
yuyuyu
2016-08-06
在画点的时候,为什么x = row_w * i + row_w;可以正常显示多个点,但是改成x = row_w*(i+1);就只能画出一个点? 这两个值应该是一样的啊
写回答
2回答
-
Lyn
2016-08-08
这个~~我试了下还真是
心里一想,应该是 i 的取值不正确。
========
同学要注意的是调试的方法和思路, console.log 连续多值 、debuger 、以及 ~~ 来取整。
00 -
随便讲两句
2016-08-10
for in 里面的 i,用 typeof 可以看到是 string 类型。
问题就在于js的自动类型转换,假设 i 是 '0' 到 '4' 的string,那么i +1就会变成'01','11','21','31',' 41'这样的string而不是想要的1,2,3,4,5,再与前面相乘,则得到非常大的数字,所以只能看到第一个点,而后面的点实际上超出了canvas的范围。
用回普通for循环,产生的i则直接就是number类型,就没问题。
40
相似问题