发表于: 2017-06-12 23:13:05
1 1145
今天完成的事情:
修改了任务10中的搜索问题,搜索中如果发布时间选在同一天,需要为开始时间设置为零点零分,截止时间设置为二十三点五十九分。这里可以写成一个过滤器或者服务。
修改任务10编辑界面中bug。
学习JS中的闭包
明天计划的事情
任务10中加入登录信息验证cooike
准备学习总结PPT
遇到的问题:
1.今天研究了angualr中模块与模块的交互,因为我的任务中controller是一个模块,filter是一个模块,在controller中调用filter中的函数。
做完了觉得挺简单的,backstageFilters就是另外一个模块,这里注入了就确定了两个模块的依赖关系。在controller中就可以调用backstageFilters中的过滤器,我觉得这种方法可能是为了将angualr中的各个功能模块进行封装,方便以后的复用,具体还不清楚,也没查到特别好的资料。
2.关于闭包问题,总算有了点收获
下面这道经典的闭包题,为什么输出的是5个6,setTimeout这个函数,页面中所有由setTimeout定义的操作,都将放在同一个队列中依次执行(先进先出模式)。并且而这个队列执行的时间,需要等待到函数调用栈清空之后才开始执行。即所有可执行代码执行完毕之后,才会开始执行由setTimeout定义的操作。所以for循环先执行完毕以后才会执行setTimeout。如果想要输出12345,就必须利用闭包特性将i作为参数传递给setTimeout的第一个参数。
for (var i=1; i<=5; i++) {
setTimeout( function timer() {
console.log(i);
}, i*1000 );
}
改变后:
for (var i=1; i<=5; i++) {
(function(i) {
setTimeout( function timer() {
console.log(i);
}, i*1000 );
})(i)
}
收获: 闭包的特性。
评论