javascript函数自执行里的this为什么指向window
6个回答
展开全部
this关键字代指当前对象。未必仅指window.
比如:
<body>这里的this指当前的form。
<form onsubmit="return checkform(this)">
<input type="text" name="txtbox" />
<input type="button" value="button" onclick="callme(this)"/>
<input type="submit" value="submit" name="btnsubmit"/>
</form>
</body>
在checkform函数中就可以这么写:
function checkform(form){
凯码 if(form.txtbox.value == ""){ alert("no data"); return false; }
}
在type="button"中,callme函数中的this,代表当前的button对象。谈陆
在javascript中写callme函数:
function callme(o){
alert(Object.prototype.toString.call(o)); //结果显示:[object HTMLInputElement]
}
再试着运行这一段:
window.onload 盯侍哪= function(){ callme(this); } //结果显示:[object Window],这里的this才是指window
再试着运行这一段:
var m = {
callme: function(){
alert(Object.prototype.toString.call(this));
}
};
window.onload = function(){ m.callme(this); } //结果显示:[object Object],这里的this是指对象m,
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在隐世匿名函数,定时器,计时器里面的this都是指搭携乱向window的,你可以看作是全知档局的方法,所以指向window吧,没有为什么-。-
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this表示当前对象
在function中,表示function定行指耐猛义的对象自身
在html onclick中,表示单击的对象
在js文件中function之外表示window,档亩配因为window是html的顶级对象,相当于默认值
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
this代表现在的对象,我举个码稿例子:
假如下面有5个div,也就是五个对象,分别命名为1,2,3,4,5。灶御现在我要设置当鼠标点击div时候,背景颜色变为红色。你只要在js里面写执行的标签为div,然后用this来指定你点击div时候需要改变背景颜色隐模岩的div.
假如下面有5个div,也就是五个对象,分别命名为1,2,3,4,5。灶御现在我要设置当鼠标点击div时候,背景颜色变为红色。你只要在js里面写执行的标签为div,然后用this来指定你点击div时候需要改变背景颜色隐模岩的div.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询