您的位置:首页 > Web前端 > JavaScript

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

2020-02-03 04:10 183 查看

我们在学习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这个实例。

  • 点赞
  • 收藏
  • 分享
  • 文章举报
su_jump 发布了9 篇原创文章 · 获赞 1 · 访问量 311 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: