this理解

2023-12-17 08:30:07
let length = 10
function fn(){console.log(this)}

let obj= {
	lenght:5,
	method(fn){
		fn() // fn.call(undefined)
		arguments[0]()  // fn.call(arguments)
	}

}

obj.method(fn,1)  // obj.method.call(obj,fn,1)

箭头函数的this是环境中的,因此不支持this

其它函数的this是一个隐式参数,要看函数调用时传的是多少

遇到this,都可以把它转化为call(),这样可以清楚的看出它的this是谁,实际上浏览器也是这样做的。

文章来源:https://blog.csdn.net/content6/article/details/135041229
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。