function foo(num){
console.log("foo:",+num);
this.count++
}
foo.count =0
for (var i=0; i<10;i++){
if (i>5){
foo(i);
}
}
console.log(foo.count)
在非严格模式下 foo.count应该最后输出的是0,和我们想象的不一样,当然在严格模式下this.count 报错
为什么呢?foo函数中的this的count 和 foo.count不是同一个值?
接下来我直接console.log(count),结果出现了NaN,哦,原来count是全局的,对了,这就是前面说的this是在运行的时候进行绑定的,并不是在编写的时候进行绑定的,
它取决于上下文调用的各种条件,this 的绑定和函数声明的位置没有任何关系,只取决于函数的调用方式。
当一个函数被调用时,会创建一个活动记录,这个纪录会包含函数在哪里被调用,函数的调用方法,传入的参数等信息,this 就是纪录其中的一个属性,在哪里被调用也就是取决于函数的执行过程,this 实际上是在函数调用时发生的绑定,它指向什么完全取决于函数在哪里被调用

最新文章

  1. 巧用transform实现HTML5 video标签视频比例拉伸
  2. 关于AJAX 的交互模型、交互流程及代码示范
  3. 【C#进阶系列】11 事件
  4. 前端面试库_JS部分_02
  5. TopCoder 603 div1 &amp; div2
  6. Codeforces Round #375 (Div. 2) ABCDE
  7. c++如何生成随机数
  8. cocos2D(五岁以下儿童)---- CCNode
  9. 如何使用RSYNC搭建备份服务器
  10. 一些内存模型、并发、netty知识点的记录
  11. C++ 头文件系列(set)
  12. 随便说说 post-processing
  13. JDBC 查询
  14. swagger 常用注解说明
  15. Mess it up!搞乱代码
  16. springboot+mysql实现quartz集群搭建
  17. 030 RDD Join中宽依赖与窄依赖的判断
  18. Java枚举根据key获取value
  19. 20145101《Java程序设计》第8周学习总结
  20. kubernetes基础概念

热门文章

  1. Java+selenium+Fitnesse
  2. react-native 学习(一)
  3. 20165330 2017-2018-2 《Java程序设计》第5周学习总结
  4. IPTABLES简介
  5. 我不想用for循环
  6. django迁移:全局、局部
  7. 《Python入门》Windows 7下Python Web开发环境搭建笔记
  8. nodejs 视频教程《一起学nodejs》
  9. TensorFlow学习笔记(七)Tesnor Board
  10. oralce 查看执行计划