发表于: 2017-06-10 21:35:50

1 649


今天完成的事情:

    基本完成了任务10,修改昨天富文本编辑的问题,将整个任务添加一些样式,突然发现好久没写CSS样式有些东西都忘记了。

  

明天计划的事情

   检查任务10,准备提交任务。

   学习一下postman的用法,在系统的学习一下Chrome的调试

    

    

遇到的问题:

    最近都会拿出一些时间去补充JS的基础知识,今天看到闭包,简单的闭包原理还好,复杂的闭包理解起来有困难,网上最经典的那道输出5个6的问题看不懂,然后觉得自己对于执行上下文这块还是理解的太少,就从头开始学起了,感觉框架学习的都是操作规则,JS基础还是比较重要。

      关于执行上下文:

            函数被激活后形成一个执行上下文。而执行上下文的的生命周期分为两个阶段。
                 第一阶段  创建阶段       
                       a.创建变量对象
                            第一步 建立argumengts对象,检查当前上下文中的参数,建立该对象下的属性和属性值。
                            第二步 检查当前上下文的函数声明,也就是function声明,在变量对象中以函数名建立一个属性,属性值指向该函数所在内存地址的引用,如果函数名的属性已经存在,那么该属性会被新的引用覆盖。
                           第三步 检查变量声明,每找到一个变量声明,就在变量独享中以变量名建立一个属性,属性值为undefined,如果该变量名的属性已经存在,为了防止同 名函数被修改为undefined,则会直接跳过,原属性值不会改变。

                       b.建立作用域链

                           这里的建立的是作用域链,不是作用域,两者还是有区别,作用域是在代码编译过程中建立的,而执行上下文是在代码执行阶段建立的,作用域链可以理解为作用域的实例化,并且作用域链是区分先后顺序的

                       c.确定this的指向

                                                                                     

              第二阶段  代码执行阶段     

                          完成变量赋值,函数引用,以及执行其他代码(这几个步骤是按照代码书写顺序执行,没有逻辑的先后顺序)。

   

   

  

收获: JS基础知识。 


返回列表 返回列表
评论

    分享到