发表于: 2019-09-29 21:11:43
1 706
今天完成的事:任务一基本搞定;看了一点点的es6;对js语言进行了统计学习;
明天要完成的事:学习基础知识;稍微写写任务2;学会怎么断点调试;
难题:
写完之后发现循环没问题;但是颜色会越来越多;就是之前上一次循环赋予的颜色没有清除掉导致的;
必须在每次循环结束重置,或者每次循环开始时重置;才行也就是每次循环都执行一次但是要在赋予颜色之后执行且赋予颜色之后的时间小于循环时间
然后在结束循环的时候卡住了;发现是声明有问题;局部变量在最后结束事件时没有定义;改成全局变量就好
结束循环放一个在stop函数里另一个放在函数的头部结束上一个循环;避免重复点击导致循环重叠;
收获:
window.setTimeout("function",time);//设置一个超时对象,只执行一次,无周期
window.setInterval("function",time);//设置一个超时对象,周期='交互时间'
停止定时:
window.clearTimeout(对象) 清除已设置的setTimeout对象
window.clearInterval(对象) 清除已设置的setInterval对象
setTimeout (表达式,延时时间);
setInterval(表达式,交互时间);
延时时间/交互时间是以豪秒为单位的(1000ms=1s)
两种的表达式很相似,但功能还是有很大的区别的,从参数的表达也能看出:
setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
setInterval 在执行时,它从载入后,每隔指定的时间就执行一次表达式
JavaScript 是一种轻量级的脚本语言。所谓“脚本语言”(script language),指的是它不具备开发操作系统的能力,而是只用来编写控制其他大型应用程序(比如浏览器)的“脚本”。
(js不是用来开发的是用来控制应用程序的)
遇到一些之前忽略的知识点:
while 循环
While
语句包括一个循环条件和一段代码块,只要条件为真,就不断循环执行代码块。
while (条件) 语句;// 或者while (条件) 语句;
while
语句的循环条件是一个表达式,必须放在圆括号中。代码块部分,如果只有一条语句,可以省略大括号,否则就必须加上大括号。
while (条件) { 语句; }
下面是while
语句的一个例子。
var i = 0;while (i < 100) { console.log('i 当前为:' + i);
i = i + 1;
}
上面的代码将循环100次,直到i
等于100为止。
下面的例子是一个无限循环,因为循环条件总是为真。
while (true) { console.log('Hello, world'); }
do...while 循环
do...while
循环与while
循环类似,唯一的区别就是先运行一次循环体,然后判断循环条件。
do
语句while (条件);// 或者do {
语句
} while (条件);
不管条件是否为真,do...while
循环至少运行一次,这是这种结构最大的特点。另外,while
语句后面的分号注意不要省略。
下面是一个例子
var x = 3;var i = 0;do { console.log(i); i++; } while(i < x);
break 语句和 continue 语句
break
语句和continue
语句都具有跳转作用,可以让代码不按既有的顺序执行。
break
语句用于跳出代码块或循环。
var i = 0;while(i < 100) { console.log('i 当前为:' + i);
i++; if (i === 10) break;
}
for
循环也可以使用break
语句跳出循环。
for (var i = 0; i < 5; i++) { console.log(i); if (i === 3) break;
}
continue
语句用于立即终止本轮循环,返回循环结构的头部,开始下一轮循环。
var i = 0;while (i < 100){
i++; if (i % 2 === 0) continue; console.log('i 当前为:' + i);
}
上面代码只有在i
为奇数时,才会输出i
的值。如果i
为偶数,则直接进入下一轮循环。
如果存在多重循环,不带参数的break
语句和continue
语句都只针对最内层循环。
1、return语句的作用
(1) return 从当前的方法中退出,返回到该调用的方法的语句处,继续执行
(2) return 返回一个值给调用该方法的语句,返回值的数据类型必须与方法的声明中的返回值的类型一致,可以使用强制类型转换来是数据类型一致
(3) return 当方法说明中用void声明返回类型为空时,应使用这种格式,不返回任何值。
2、break语句的作用
(1) 只能在循环体内和switch语句体内使用break语句。
(2) 当break出现在循环体中的switch语句体内时,其作用只是跳出该switch语句体。
(3) 当break出现在循环体中,但并不在switch语句体内时,则在执行break后,跳出本层循环体。
(4) 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环
3、continue语句作用
(1) continue语句的一般形式为:continue;
(2) 其作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
(3) 注意:执行continue语句并没有使整个循环终止。在while和do-while循环中,continue语句使得流程直接跳到循环控制条件的测试部分 ,然后决定循环是否继续进行。
(4) 在for 循环中,遇到continue后,跳过循环体中余下的语句,而去对for语句中的“表达式3”求值,然后进行“表达式2”的条件测试,
最后根据“表达式2”的值来决定for循环是否执行。在循环体内,不论continue是作为何种语句中的语句成分,都将按上述功能执行,这点与break有所不同
评论