javascript中函数this的问题

一个函数被html元素调用,函数里的this是指向该html元素的,那么该函数里如果在调用另一个函数时,这个函数离得this指向谁,也是上一个函数的html元素吗,为什么... 一个函数被html元素调用,函数里的this是指向该html元素的,那么该函数里如果在调用另一个函数时,这个函数离得this指向谁,也是上一个函数的html元素吗,为什么,我记得函数里调用函数(a(){b()}),后一个函数(b())的调用对象不是window对象吗? 展开
 我来答
yukon12345
2012-09-28 · TA获得超过1713个赞
知道大有可为答主
回答量:1827
采纳率:66%
帮助的人:1007万
展开全部
js有点特殊。不但要看上下文,还要看谁调用的,怎么调用。
因为js是动态语言,既有面向对象特性,又有函数式特性。它可以将一个object属性和方法随时修改,同时声明的出的类本身不但是类,可以被继承和实例化,而且就是一个对象,特别是还有prototype这个属性,比较复杂。
建议你百度一下 js中this的用法,

首先写在html标签中传入的this是指html元素,比如
对应处理函数function fa(object){}
这个object就指html元素
如果这个函数里还有this,就是指window对象。
(所有声明的函数默认是绑定在window对象上的,而window对象可以省略。)
如function fa(object){this.x=1}
等同于自动绑定:window.fa=function (object){this.x=1}

但如果这个函数是绑定在另外一个对象上的,比如
o={}

o.fb=fa
o.fb();
o.x=2

这时候是x是o的x属性2。
更多追问追答
追问
我问的是function a(){b(this)}
(html元素)obj.set(),这时b()函数里的this指向谁,也是obj对象吗,为什么
追答
你给的函数又没执行,怎么看得出来指向谁。obj.set()又是指什么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式