辽阳人才网

js在对象里有this关键字 代表本类,有没有其他关键字代表父级的

发布时间:2019-09-21

情况一:纯粹的函数调用

这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。

请看下面这段代码,它的运行结果是1。

复制代码代码如下:

  function test(){

    this.x = 1;

    alert(this.x);

  }

  test(); // 1

为了证明this就是全局对象,我对代码做一些改变:

复制代码代码如下:

  var x = 1;

  function test(){

    alert(this.x);

  }

  test(); // 1

运行结果还是1。再变一下:

复制代码代码如下:

  var x = 1;

  function test(){

    this.x = 0;

  }

  test();

  alert(x); //0

情况二:作为对象方法的调用

函数还可以作为某个对象的方法调用,这时this就指这个上级对象。

复制代码代码如下:

  function test(){

    alert(this.x);

  }

  var o = {};

  o.x = 1;

  o.m = test;

  o.m(); // 1

情况三 作为构造函数调用

所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。

复制代码代码如下:

  function test(){

    this.x = 1;

  }

  var o = new test();

  alert(o.x); // 1

运行结果为1。为了表明这时this不是全局对象,我对代码做一些改变:

复制代码代码如下:

  var x = 2;

  function test(){

    this.x = 1;

  }

  var o = new test();

  alert(x); //2

运行结果为2,表明全局变量x的值根本没变。

情况四 apply调用

apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

复制代码代码如下:

  var x = 0;

  function test(){

    alert(this.x);

  }

  var o={};

  o.x = 1;

  o.m = test;

  o.m.apply(); //0

apply()的参数为空时,默认调用全局对象。因此,这时的运行结果为0,证明this指的是全局对象。

回复:

简单来说你看到的this就是指对象,比如我一个函数式这样的
obj.onclick=function()
{
alert(this.innerHTML)
}
this就是指obj,
在你的函数里面刚刚定义了this.length=0;所以第二个this指向是this
第三个函数你根本没有定义size的length,所以也是0

回复:

你说的没错,‘this’就是指向调用其方法的对象,所以person.prop.getFullName()是person.prop调用了getFullName(),获得的是person.prop的fullname,也就是Jane了 var test= person.prop.getFullName 注意这句是没有括号的,person.prop.getFullN...

回复:

在这个例子里,this就是指向类的'门牌号',而 Array.prototype.max=array_max; 就是在Array的原型中又定义了一个max方法指向“array_max”的‘门牌号’

回复:

情况一:纯粹的函数调用 这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。 请看下面这段代码,它的运行结果是1。 复制代码代码如下: function test(){ this.x = 1; alert(this.x); } test(); // 1 为了证明this就是全局对...

回复:

简单来说你看到的this就是指对象,比如我一个函数式这样的 obj.onclick=function() { alert(this.innerHTML) } this就是指obj, 在你的函数里面刚刚定义了this.length=0;所以第二个this指向是this 第三个函数你根本没有定义size的length,所以...

上一篇:cf2.0高清版引擎升级会不会提高对手机配置要求 下一篇:耳鸣多久会导致耳聋

返回主页:辽阳人才网

本文网址:http://0419job.cn/view-208359-1.html
信息删除