作者Bruce003 (Bruce Chen)
看板Web_Design
标题[问题] 阵列元素闪线
时间Tue Apr 30 01:38:32 2019
(Javascript 问题)
https://github.com/BruceChen034020/20190430BugDemo
Card是一个类别,里面有一个函数叫copy。
Card.copy可以把Card物件的所有属性复制,产生新物件。
CardList_init函数里面有一个c阵列,是Card的阵列。
我把c的一些元素加到c的最後面去,但是加到一半c[6]就不见了。
我只是c.push而已,应该不会动到c[6]吧!!!?????
我debug了好久,都不知道为什麽会这样
求解,谢谢!!! 万分感激!!!
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.162.155.245
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Web_Design/M.1556559515.A.093.html
1F:→ konkonchou: 若只是单纯push 04/30 02:07
2F:→ konkonchou: c.push(c[i].copy(c.length+1)) 改 c.push(c[i]) 04/30 02:08
3F:→ konkonchou: 跑完长度变 253 看是不是你要的 04/30 02:08
4F:推 art1: 你的 c 变数宣告连 var 都没加 04/30 02:46
5F:→ konkonchou: c.push(c[i]); c[c.length-1].id=c.length; 04/30 03:00
6F:→ konkonchou: 或楼上说的加上 var 避免以为 local 结果改到 global 04/30 03:01
7F:推 pkro12345: 你没宣告变数又把复制和初始阵列都直接叫c就污染了 04/30 03:22
8F:→ pkro12345: 你把card.js里的c变数换成其他名字就好 不过治标不治本 04/30 03:23
9F:→ kattte: 阵列元素闪线是甚麽意思? 我只看到你在第五次的时候把c 04/30 23:38
10F:→ kattte: 给清空了 04/30 23:38
11F:→ Bruce003: 我把c前面加上var果然就好了,谢谢你们! 05/01 01:46
12F:→ Bruce003: 我终於知道 var 的用途了 05/01 01:46
13F:→ Bruce003: 之前都以为有var跟没var没差,就像分号一样XD 05/01 01:47
14F:→ Bruce003: 不过分号是真的有加跟没加没差吗? 05/01 01:48
15F:推 eight0: 不是,有时可以省略不是全部都可以 05/01 13:59