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

js中this代表什么意思?30

发布网友 发布时间:2023-10-01 12:03

我来回答

4个回答

热心网友 时间:2024-03-28 05:30

JavaScript 中的 this 一直是容易让人误用的,尤其对于熟悉 Java 的程序员来说,因为 JavaScript 中的 this 与 Java 中的 this 有很大不同。在一个 function 的执行过程中,如果变量的前面加上了 this 作为前缀的话,如this.myVal,对此变量的求值就从 this 所表示的对象开始。this 的值取决于 function 被调用的方式,一共有四种,具体如下:如果一个 function 是一个对象的属性,该 funtion 被调用的时候,this 的值是这个对象。如果 function 调用的表达式包含句点(.)或是 [],this 的值是句点(.)或是 [] 之前的对象。如myObj.func和myObj["func"]中,func被调用时的 this 是myObj。如果一个 function 不是作为一个对象的属性,那么该 function 被调用的时候,this 的值是全局对象。当一个 function 中包含内部 function 的时候,如果不理解 this 的正确含义,很容易造成错误。这是由于内部 function 的 this 值与它外部的 function 的 this 值是不一样的。代码清单 5中,在myObj的func中有个内部名为inner的 function,在inner被调用的时候,this 的值是全局对象,因此找不到名为myVal的变量。这个时候通常的解决办法是将外部 function 的 this 值保存在一个变量中(此处为self),在内部 function 中使用它来查找变量。如果在一个 function 之前使用 new 的话,会创建一个新的对象,该 funtion 也会被调用,而 this 的值是新创建的那个对象。如function User(name) {this.name = name}; var user1 = new User("Alex");中,通过调用new User("Alex"),会创建一个新的对象,以user1来引用,User这个 function 也会被调用,会在user1这个对象中设置名为name的属性,其值是Alex。可以通过 function 的 apply 和 call 方法来指定它被调用的时候的 this 的值。 apply 和 call 的第一个参数都是要指定的 this 的值,两者不同的是调用的实际参数在 apply 中是以数组的形式作为第二个参数传入的,而 call 中除了第一个参数之外的其它参数都是调用的实际参数。如func.apply(anotherObj, [arg1, arg2])中,func调用时候的 this 指的是anotherObj,两个参数分别是arg1和arg2。同样的功能用 call 来写则是func.call(anotherObj, arg1, arg2)。

热心网友 时间:2024-03-28 05:31

代表当前对象啊,js不是有document.getElementByID通过ID获取对象么,this就是获取当前对象,比如id为btn的按钮的onclick方法 onclick="method(this)",这个this就是当前按钮对象,作用和document.getElementByID("btn")一样。

热心网友 时间:2024-03-28 05:34

第一个this.name指的是变量name(对应var name="The Window"这个),
第二个this.name指的是object这个map里面的name,this指的是object这个map对象。

this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在函数内部使用,下面分四种情况:
情况一:纯粹的函数调用 :这是函数的最通常用法,属于全局性调用,因此this就代表全局对象Global。
情况二:作为对象方法的调用 :函数还可以作为某个对象的方法调用,这时this就指这个上级对象。
情况三 作为构造函数调用 :所谓构造函数,就是通过这个函数生成一个新对象(object)。这时,this就指这个新对象。
情况四 apply调用 :apply()是函数对象的一个方法,它的作用是改变函数的调用对象,它的第一个参数就表示改变后的调用这个函数的对象。因此,this指的就是这第一个参数。

热心网友 时间:2024-03-28 05:37

当前对象
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
我有个无线路由器 G11手机无法上wifi 已经按照路由说明书上步骤安装调... g11无线网显示以连接信号强但是一上网显示网络错误 拜求解 HTC G11能连接上WLAN,信号显示“极强”但上不去网? ...可是家里的能连上就是打不开网页,我的路由是上海贝尔的那种。_百度... 我的手机HTC G11 连接上WLAN,信号很好,就是无法上网 ...连上家里的无线网,但是qq却上不去,网页也打不开,等于没练上一样... G11WIFI信号格满但是打不开网页等 就生产力发展而言,丛西汉至唐朝有何表现 汉代农业的发展程度是怎么样的? 你好 酷管家密码忘了 打不开怎么办 什么鹦鹉的名字好听? java中trim()方法是用来干什么的?723 一个新手机号怎么注册277 一个新手机号怎么注册277 java里的JSONObject作用是什么?什么时候用?313 js 文件中,var app=app||{}是什么意思16 怀孕期间能不能吃黑麦 晚的笔画顺序怎么写的6 我的心很乱很绝望,太多的人知道我想什么,我现在觉得自己没有隐私,很烦... 高一政治,第一段最后倒数第二个句号开始说的“消费为生产创造出新的劳动... 周公解梦梦见一群刚出生的小老鼠逃跑,自己脚踩住一只老鼠,但是小老鼠没... 配偶生育保险产前报了,产后医院又说没有相关信息 公历2020年四月十一日上午十点零六分出生的男孩五行怎么样?怎么解释的... 七年级下册语文课文一棵小桃树有哪些磨难15 贾平凹的一棵小桃树中 我和小桃树的经历有哪些相同145 我",小桃树在生长过程中经历了哪些磨难57 一个手机如何同时登录两个?2 一个手机登两个怎么登?1 怎么在一台手机上同时绑定两个 如何在一个手机上同时登录两个 我想注册个新,怎么注册?328 我想注册个新,怎么注册?328 javascript中的value值是什么意思啊?22 烫染后原本很好的头发现在变得又黄又细还分叉并且变得很少.有什么... java webroot目录是干什么的?54 怎么注册420 怎么注册420 如何再申请一个?92 如何再申请一个?92 怎么注册个新?269 怎么注册个新?269 怎么申请新的?453 怎么申请新的?453 超凡2电影为什么没了 use有哪些词性和用法? 《我的小桃树》课后思考题409 晚字笔顺怎么写1 《一棵小桃树》阅读答案4659 说说文中小桃树的遭遇和磨难,从中给我们什么启? 《一颗小桃树》相关习题及答案40