2 qq 31788907 qq_31788907 于 2016.04.27 14:38 提问

请问我这段代码规范吗,有什么语法错误

图片说明

效果达到了 但是BOSS说我代码不规范

6个回答

u013865953
u013865953   2016.04.27 15:28
已采纳

你的定时器放在了chgCol方法内,

方法在外部调用时,会先执行chgCol方法 然后再创建一个定时器,然后在chgCol被调用时再一次创建一个定时器,每个定时器都是新一个定时器,并且在第一次执行时 调用了一次方法

应该将定时器放到外围,如果你要用无限循环 请用setInterval()定时器。

qq_31788907
qq_31788907 p++那里有什么问题吗
一年多之前 回复
perhapschen
perhapschen   2016.04.27 15:53

pos初始值为3,那if里面就没必要判断pos<0了,你的方法运用递归调用来实现循环,没有语法错误。至于规范不规范,就仁者见仁智者见智了。

qq_31788907
qq_31788907 能加个QQ好友吗
一年多之前 回复
lwp2020
lwp2020   2016.04.27 15:13

pos没有定义啊,给pos一个适当的注释

qq_31788907
qq_31788907 前面写了var pos = 3;
一年多之前 回复
qq_31788907
qq_31788907   2016.04.27 15:39

p++那里有什么问题吗

qq_15002323
qq_15002323   2016.04.27 15:47

是的,你定时任务写在方法里面了,这样会无限循环啊,用setInterval()定时器吧

U_9_5
U_9_5   2016.04.27 15:52

建议写个内部变量区分开可能带来的全局变量冲突,传入形参pos,内部var pos=pos || 0;适当修改下下面的写法,尽量封装成一个高可用的函数

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!