什么是" this.somevariable"在javascript中意味着什么?

时间:2017-09-15 03:42:19

标签: javascript

我发现了一些像这样的代码:

Function a(){ this.somevariable = ''; }

还有其他一些代码:

Function a(){ var somevariable = ''; }

它们之间的区别在于变量声明。我需要知道来自this的{​​{1}}是什么。它与this.somevariable不同吗?

1 个答案:

答案 0 :(得分:-1)

this是JavaScript中的关键字。

function test(){
  this.x = 10;     
}  

在这种情况下this表示内部对象,只能在函数中使用。

具有不同场合的功能,this的值会发生变化。但是有一个通用原则:this表示调用函数的对象。

案例1:  纯函数调用:

这是该功能最常用的,属于全局调用。 所以this只是全局对象Global的意思。

e.g:

function test(){
    this.m = 10;
    alert(this.m);
  }
  test(); // there alert 10

为了证明this是一个全局对象:

   var m = 10;
  function test(){
    alert(this.m);
  }
  test(); // 10

并且:

   var m = 10;
  function test(){
    this.m = 0;
  }
  test();
  alert(m); // 10

案例2: 作为调用函数的对象。

function test(){
    alert(this.m);
  }
  var obj = {};
  obj.m = 10;
  obj.n = test;
  obj.n(); // 10

案例3:

作为构造函数

function test(){
    this.m = 10;
  }
  var obj = new test();
  alert(obj.m); // 10

为了表明在这种情况下this不是全局对象:

   var m = 10;
  function test(){
    this.m = 1;
  }
  var o = new test();
  alert(m); //10