javascript中this的用法的一些疑问

先贴一段原代码:<!doctypehtml><htmllang="en"><head><metacharset="UTF-8"><title>鼠标事件</title></... 先贴一段原代码:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>鼠标事件</title>
</head>
<body>
<div id="onmouse" onmouseover="mOver(this)" onmouseout="mOut(this)" style="background-color:green;width:120px;height:20px;padding:40px;color:#ffffff;">把鼠标移到上面</div>
<script>

function mOver(obj)
{
obj.innerHTML="谢谢";
}

function mOut(obj)
{
obj.innerHTML="把鼠标移到上面";
}
</script>
</body>
</html>

我把上述代码改为:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>鼠标事件</title>
</head>
<body>
<div id="onmouse" onmouseover="mOver()" onmouseout="mOut()" style="background-color:green;width:120px;height:20px;padding:40px;color:#ffffff;">把鼠标移到上面</div>
<script>

function mOver()
{
this.innerHTML="谢谢";
}

function mOut()
{
this.innerHTML="把鼠标移到上面";
}
</script>
</body>
</html>
此代码就不能实现onmouse事件了,我的疑问是,此处的形参obj,在调用函数时候不也是被this代替了吗?那么直接写为什么不能实现?
新手 求解答
展开
 我来答
shipingtuji
2014-07-01 · TA获得超过379个赞
知道小有建树答主
回答量:720
采纳率:55%
帮助的人:544万
展开全部
<div id="onmouse" onmouseover="mOver(this)" onmouseout="mOut(this)" ,此时的this表示div,
<div id="onmouse" onmouseover="mOver()" onmouseout="mOut()" ,你没有指定任何参数,而在

function mOver()
{
this.innerHTML="谢谢";
}

function mOut()
{
this.innerHTML="把鼠标移到上面";
}
你使用了this,此时的this属于当前使用它的那个对象,而这个东西是在函数定义的使用的,所以它属于的window,两个东西表示的根本就不是同一个东西,虽然都是this,但是意义不一样
快寻影视
2014-07-01
知道答主
回答量:3
采纳率:0%
帮助的人:4000
展开全部
要明白这个问题 你应该先了解this指的是什么

function mOver()
{
this.innerHTML="谢谢";
}

这个this对象所指向的是整个window全局变量 而不是id="onmouse"
这个div 所以 不会出现效果
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
cs903016
2014-07-01 · TA获得超过1179个赞
知道小有建树答主
回答量:2599
采纳率:80%
帮助的人:1720万
展开全部
你在上面传过来的this是当前的操作对象,下面你写在js中的这个this是window对象
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
韭足袋空
推荐于2018-04-11
知道答主
回答量:10
采纳率:0%
帮助的人:3.9万
展开全部
形参obj传递进来的this代表的当前DOM对象,而如果不以形参传递进来this则是代表的当前window对象。
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式