发表于: 2017-06-12 23:13:05

1 1146


今天完成的事情:

  修改了任务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)

}

 

   

  

收获: 闭包的特性。

 



返回列表 返回列表
评论

    分享到