js中this的作用和this的指向问题

本文深入解析JavaScript中的this关键字,探讨其在不同环境下的指向规则,包括全局函数、对象方法及构造函数中的应用,帮助读者理解this的工作原理。

我们在学习this的时候,我先给大家说点关于this的小知识点。
知识点:Javascript允许在函数体内部,引用当前环境的变量,this的设计目的就是在函数体内部,指代当前函数的运行环境。
当我们知道了这个知识点后,问题就简单多了。我们接下来把使用this的情况分为2类。
第一类:在全局下的函数与在对象里面的函数

var a = 1;
	function foo(){
		return this.a
	}
foo();   // 1 在全局环境下调用函数。

this指向的是全局环境,所以它引用的a是全局环境下的a。再看看这个例子:

var a = 3 ;
var obj = {
	var a = 2 ; 
	function foo(){
		return this.a
	}
	
}
obj.foo(); // 2   (this指向的是obj这个环境,所以这个a的值是obj这个环境里面的a的值)
foo();//3	(this指向的是全局环境,所以它引用的a是全局环境下的a)

第二类:在构造函数中的this
构造函数中this指向的是构造函数的实例。

var Foo = function(){
	this.name = name
	return this
}
var fn= new Foo();


在这个例子里面的this指向的都是fn这个实例。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值