一、作用域链

作用域:浏览器给js的一个生存环境(栈内存)

作用域链:js中的关键字var和function 都可以提前声明和定义,提前声明和定义的放在我们的内存地址(堆内存)中。然后js从上到下逐行执行,遇到变量就去内存地址查找是否存在这个变量。有就使用,没有就继续向父级作用域查找直到window下结束,这种查找机制叫作用域链。

为什么要使用作用域链?

Js代码中存在着大量的变量和函数,我们在使用它们的时候一定要知道它们到底归属谁。

二、this 细说

 1、this是js的一个关键字,指定一个对像然后去替代他。

   分为函数内的this和函数外的this,函数内的this指向行为发生的主体。函数外的this都指向window没有意思。

   eg:(1)、function  chi(){

          console . log (this)

            }

        ban . chi ( )     ban就是这个函数的主体

     (2)、 function  chi(){

          console . log (this)

            }

        chi ( )    结果的window

   为什么是window?

      因为浏览器执行js代码的时候在执行chifan()这个函数的时候查找到变量chifan的归属是window,在window下的变量可以写成    window.chifan,函数可以写成window.chifan()。

 2、函数内的this和函数在什么环境下定义没有关系,而只和自己的主体有关。

 3、主体这么找?

    就看这个函数(方法)带不带”.”,如果函数和方法执行带“.”,那么this就指向”.”前面的对象,如果不带“.”就指向window。

 4、自执行函数里面的this都指向window。

    eg:var num=42;

        var obj={
        num:12,
        ff:(function(){
        console.log(this.num)        this是指window
        }())
        }

 5、给元素中的某一个事件绑定方法,当事件触发时,执行绑定的方法,方法中的this指向当前元素。

 6、call()、apply()、bind()

  这三个方法可以改变函数内的this的指向

  A . call(B,c,d)  B取代了A中this,然后把B给调用了

最新文章

  1. Android基础学习第三篇—Intent的用法
  2. 发邮件 和 excel导出中文文件名
  3. SQL select结果集和return的区别
  4. @media screen解决移动web开发的多分辨率问题
  5. iOS开发-UIColor转UIIamge方法
  6. Codeforces Round #288 (Div. 2)D. Tanya and Password 欧拉通路
  7. 标准web架构分层
  8. uva1587 Box
  9. #import和#include的区别 关键字@class的作用
  10. HSQL
  11. Light OJ 1316 A Wedding Party 最短路+状态压缩DP
  12. MarkDown编写规范指南
  13. 深度神经网络在量化交易里的应用 之二 -- 用深度网络(LSTM)预测5日收盘价格
  14. LeetCode - 185. Department Top Three Salaries
  15. JQUERY-自定义插件-ajax-跨域访问
  16. C++中的stack类、QT中的QStack类
  17. UGUI中Text的换行
  18. centos7 搭建vnc服务
  19. [日常] PHP与Mysql测试kill慢查询并检验PDO的错误模式
  20. 前端学习 -- Css -- 高度坍塌问题的产生以及解决

热门文章

  1. maven实战(3)-- dependency <classifier>的使用
  2. codeforces 672A A. Summer Camp(水题)
  3. 后缀自动机SAM BZOJ 2806
  4. Ruby Proc 和 lambda的共同点和区别
  5. 安装Nginx作为文件服务器
  6. Not enough free disk space on disk '/boot'(转载)
  7. display:inline-block的div 与 display:block的div之间有间隔问题(div与div之间有间隔的可能性)
  8. 51nod 1094 【水题】
  9. P5167 xtq的神笔
  10. BZOJ 2457 [BeiJing2011] 双端队列