提起函数中的this是很多初学者较为苦恼的,也是很多工作一段时间的人也存在误解的,你问this指向的是谁,大多数人会随口一答当然是指向调用这个函数的元素,当然这也没什么错,可是函数的调用方法不同this的指向就不同,下面就看一下函数的几种调用方法

1. 直接调用:this>Window

<script>
	function fn(){
		console.log(this)
	}
	fn()//直接接调用指向window
</script>

2.通过对象调用:this>调用函数的对象

<script>
	function fn(){
		console.log(this)
	}
	var obj ={
		fn:fn
	}
	obj.fn()//指向对象obj
</script>

3.事件调用:this>触发事件的函数

<script>
	function fn(){
		console.log(this)
	}
	document.onclick = fn;//指向#document
</script>

4.定时器调用:定时器调用:this>Window

<script>
	function fn(){
		console.log(this)
	}
	setTimeout(function(){
		fn() //指向Window
	},1000)
</script>

  

 

  

 

  

 

  

最新文章

  1. MVC入门第一天
  2. quick3.5 removeFromParent()导致的windows下模拟器崩溃问题
  3. cxf和spring结合,发布restFull风格的服务
  4. android Animation 动画绘制逻辑
  5. 安卓开发_浅谈Android动画(一)
  6. ZOJ 3820 Building Fire Stations 求中点+树的直径+BFS
  7. 自定义表单验证$setValidaity
  8. Java for LeetCode 162 Find Peak Element
  9. 移动端 :meta标签1万个作用
  10. SQL 基础语法(创建表空间、用户、并授予权限、数据的增删改查) --(学习笔记)[转]
  11. tc srm 632 500 (规律)
  12. SQL Server查看所有表大小,所占空间
  13. AtCoder Grand Contest 013
  14. Linux系统编程——fcntl
  15. js 连接mqtt
  16. python mysql 视图 触发器 事物 存储过程 用户授权 数据备份还原
  17. ZOJ - 1610 Count the Colors(线段树区间更新)
  18. tomcat中web项目编译后的结构
  19. spring cloud-前端跨域问题的解决方案
  20. WPF DataGrid分组和排序

热门文章

  1. STM32通过调用库函数进行编程
  2. iOS开发——高级篇——Runloop相关一
  3. js事件绑定/监听
  4. YTU 2440: C++习题 复数类--重载运算符+,-,*,/
  5. 有关使用HTTP协议传输二进制文件
  6. AutoIT: 开发界面结合GUI automation和Watir Automation
  7. rsync+inotify 实现实时同步
  8. jenkins配置发送邮件时,日志中显示发送成功,但是邮箱没有收到邮件
  9. STM32F4 DMA2D_M2M_PFC
  10. arcgis for silverlight 相关学习资料整理