发表于: 2017-02-20 01:54:38

0 1128


今天完成的事情:

      看了下红宝书,主要就是闭包和this指代

明天计划的事情:

      继续看js基础知识

遇到的问题:  

     this指代好麻烦,看了红宝书很多例子还是弄错了

收获:

    闭包:js闭包  就是变量解析的过程

    每次定义一个函数,都会产生一个作用域链($scope chain),当js寻找变量variable时(这个过程称为变量解析),总会优先在当前作用域链的第一个对象中查找属性variable,如果找到则直接使用这个属性,否则,继续查找下一个对象的是否存在这个属性,这个过程持续直至找到这个属性或者最终未找到引发错误为止。

   当全局变量访问函数内局部变量时,因为局部变量作用域只在函数内,所以无法访问。但通过闭包就可以让全局变量跨作用域访问局部变量:

   闭包的用途:1.读取函数内部的变量   2.让这些内部变量的值始终保存在内存中。注意:函数内部,如果没有var关键字这个函数就是全局变量。

   this:this是js中的一个关键字,它代表函数运行时,自动生成的一个内部对象。      

            函数调用:js有三种函数调用形式
           func(p1,p2)
           obj.child.method(p1,p2)

           func.call(context,p1,p2)

          注意第三种才是正常的调用形式,其余两种都是语法糖
         func(p1,p2)等价func.call(undefine,p1,p2)
         obj.child.method(p1,p2)等价于obj.child.method.call(obl,child,p1,p2)

         this就是代码中的context


返回列表 返回列表
评论

    分享到