今天看了阮一锋老师的一篇文章,感觉很明了对闭包的理解,尤其是文章中的apply的介绍

apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

  var x = 0;

  function test(){

    alert(this.x);

  }

  var o={};

  o.x = 1;

  o.m = test;

  o.m.apply(); //0

apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。

如果把最后一行代码修改为

  o.m.apply(o); //1

运行结果就变成了1,证明了这时this代表的是对象o。

最新文章

  1. 使用MATLAB对图像处理的几种方法(上)
  2. 【代码笔记】iOS-验证手机号,邮箱,车牌号是否合法
  3. jenkins忘记管理密码处理方式
  4. (二)java特征
  5. Effective Modern C++翻译(3)-条款2:明白auto类型推导
  6. memcache 简单入门应用
  7. JQuery控制input的readonly和disabled属性
  8. Qt浅谈之二十App自动重启及关闭子窗口(六种方法)
  9. Dan计划:重新定义人生的10000个小时 - 阮一峰的网络日志
  10. JDOJ-P1260 VIJOS-P1083 小白逛公园
  11. teeporxy.go
  12. 【linux】State : Uninterruptible, pid: 3936
  13. SaltStack 理解
  14. MATLAB绘图功能(2) 二维底层绘图修饰
  15. Java体系基本概念
  16. hdu1002-A + B Problem II-(java大数)
  17. TCP是如何实现三次握手的?
  18. 【Java集合的详细研究8】List,Set,Map用法以及区别
  19. Codeforces Good Bye 2018
  20. 【动态规划】POJ2385-Apple Catching

热门文章

  1. sina 行情api
  2. Linux下把Mysql和Apache加入到系统服务里
  3. hdu-----(1179)Ollivanders: Makers of Fine Wands since 382 BC.(二分匹配)
  4. ScrollView嵌套StackView提示需要宽度和高度限制
  5. Java数据库移植框架
  6. 工程技巧Linux上建立工程项目
  7. Axis2 webservice入门--开发环境搭建,概念理解
  8. php圖片中寫入字符串然後生成圖片下載到本地
  9. 管理工具MongoVUE使用
  10. bzoj 2428: [HAOI2006]均分数据