js函数中匿名函数的this指针指向问题?javascript高手请进!!!

自己写了一个js程序:<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org... 自己写了一个js程序:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<body>
<script type="text/javascript">
function fn(){
var e=(function(){
return this;
})();
return e;
}
fn();
</script>
</body>
</html>
结果发现匿名函数中返回的this竟然是window对象,甚是吐血呀,我知道this是动态指向的,但怎么分析也不至于指向window对象呀。
展开
 我来答
帐号已注销
推荐于2018-04-24 · TA获得超过4630个赞
知道大有可为答主
回答量:1345
采纳率:50%
帮助的人:1623万
展开全部
匿名函数的this一般都是指向window的,这个不需要分析。

《javascript高级程序设计》这本书里的匿名函数这一章也有讲到,摘抄如下:

this对象是在运行时基于函数的执行环境绑定的:在全局函数中,this等于window,而当函数被作为某个对象的方法调用时,this等于那个对象。不过,匿名函数的执行环境具有全局性,因为其this对象通常指向window。
cmoooo
推荐于2016-05-01 · TA获得超过3587个赞
知道小有建树答主
回答量:741
采纳率:0%
帮助的人:662万
展开全部
嗯,怎么分析,它都应该是指向windows的。

除非是下面的这种函数,并不指向windows,而是事件对应的dom对象:

<div id="a">按</div>
<script>
document.getElementById('a').onclick = function(){alert(this.innerHTML)};
</script>

不过,这样的函数已经不是真正的匿名函数了,比如你可以通过:

document.getElementById('a').onclick();

语句,来调用这个函数;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式