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

这个~~我试了下还真是

57a8321d0001932205000401.jpg

心里一想,应该是 i 的取值不正确。

57a8321d0001b23305000243.jpg


========

同学要注意的是调试的方法和思路, console.log 连续多值 、debuger 、以及 ~~ 来取整。


0
0

随便讲两句

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类型,就没问题。

4
0

Web App用组件方式开发全站

用HTML5/CSS3/JS流行技术,实现移动端可视化数据报告

3164 学习 · 516 问题

查看课程