0
点赞
收藏
分享

微信扫一扫

关于JavaScript的this指向讲解

丹柯yx 2022-01-08 阅读 63

在浏览器中有一个神奇的关键字

this

代指某样东西
谁调用它, 它就会指向谁

如果在控制台中输入this会打印出Window

consoel.log(this)
> Window{...}

因为是浏览器调用的this那么this就会指向浏览器的全局对象Window
比如这里有一个函数foo

function foo(){
	console.log(this)
}

如果执行foo这个函数那么也会打印出Window

foo()
> Window {...}

因为是浏览器调用的foo函数
foo函数里面打印this
而谁调用的它,this就会指向谁

所以执行流程是这样的
Window 调用foo函数,函数 执行 打印this
Window 调用的this所以this指向的Window

那么有没有其他情况呢?

比如我定义一个对象obj
里面有一个属性是foo值是一个函数

var obj={
	foo:function foo(){
		console.log(this)
	}
}

如果我执行如下操作控制台会打印什么?

obj.foo()
> {foo:foo()}

可以看到竟然打印出了obj对象
因为是obj 调用foo函数 函数在去 执行 打印

调用this 呢?
obj

举报

相关推荐

0 条评论