问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

javascript中this用法

发布网友 发布时间:2022-04-25 11:52

我来回答

6个回答

热心网友 时间:2022-04-18 02:40

在javascript当中每一个function都是一个对象,所以在这个里var temp=this 指的是function当前的对象。
Javascript的this用法
this是Javascript语言的一个关键字。
它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用。比如,
  function test(){
    this.x = 1;
  }
随着函数使用场合的不同,this的值会发生变化。但是有一个总的原则,那就是this指的是,调用函数的那个对象。
下面分四种情况,详细讨论this的用法。
情况一:纯粹的函数调用
这是函数的最通常用法,属于全局性调用,因此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指的是全局对象。
如果把最后一行代码修改为
  o.m.apply(o); //1
运行结果就变成了1,证明了这时this代表的是对象o。

热心网友 时间:2022-04-18 03:58

这的看你的作用域了。当前作用域中的对象.

热心网友 时间:2022-04-18 05:33

this就是当前对象,也就是调用这个函数的对象

热心网友 时间:2022-04-18 07:24

就是谁去调用这个方法,这个this就是谁。

热心网友 时间:2022-04-18 09:32

当前作用域

热心网友 时间:2022-04-18 11:57

this当前对象
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
路由器网线一米多少钱 东芝电视怎么投屏安卓手机 东芝电视怎么投屏 东芝电视投屏功能在哪里 指甲根部半月白 ...在指甲中部黑线长起 还有就是月牙上有白色一块 都在同一个指_百度... 我农业银行五年定期无密码存款,身份证没了,仅凭身份证复印件和存款单... 混凝土强度回弹怎么测算推定值,是否满足要求?一篇文章讲明白_百度知 ... 发动机舱有胶皮味跟安装防盗器有关系吗 cb400f启动后有股胶皮味道 一个袋子装了半袋米,倒出三分之一多1千克后还剩19千克... js中的this怎么用? js中的this如何使用 javascript中的this到底指什么? 好听女网名 Javascript中“this” 的作用? excel中给出一个百分比,如何根据这个比例做出比例图,左右两边颜色可以调... excel 07 百分比条形图,怎么显示大于100%的条形? 如何用excel做出投票网站里一样的百分比条形图 用EXCEL如何得出下图的条形百分比图 excel制作百分比进度条,不用公式的那种 Excel 怎样做百分比的比例横条图 一朋友的小米8摔坏了,目测内屏也坏了,大概要多少钱修?能自己换屏幕么? 我的电脑C盘被系统文件占满了怎么办?(打开C盘非常慢) 单片机写了 include"xpt2046.h"然后有什么作用 绍兴有个电话说是卖什么XPT印花软件的,那是什么东西啊? 什么东西坏了会导致收音机xpt8871过热? excel如何整体改变行高 远程删除记事本内容,打开还存在怎么回事空间的空 怎么用SPSS打开chns数据 ...安装后产生的plugin.vch,flashplayer.xpt文件有什么作用 javascript中的this指的对象是什么? 帮我起个好听的女生网名吧? 有什么好听的女生网名吗,介绍介绍的,, js中this的用法 Javascript中this是怎么用的? 好听的女生网名有那些? javaScript里this的使用 好听的女网名(学生类) js中this关键字如何应用? 我不理解js中this的详细用法,谁可以帮我详细回答一下。 JavaScript的this用法,真心被弄晕了 电影学 英语 怎么说 如何选择合适的电影学英语 请推荐几部可供学英语的电影,谢谢 推荐几部适合学英语的电影~ 看电影学英语 怎样看电影学英语? 好看又可以学英语的美国电影大片 看电影学英语的软件? 我的小米8内屏坏啦售后服务说得里外屏都得换得650元,刚用了7,8个月的手机