function OOXX(OO,XX)
{
//debugger
this.OO=OO;
this.XX=XX;
document.body.bgColor = "#00ffff";
var s="";
for(var a in this){
s+=(a+"="+this[a] +"\t");}
alert(s)//為什么s的值不只 OO和XX呢
}
window.onload = function()
{
document.getElementById("btn").attachEvent("onclick",function(){OOXX("OOOOO","XXXXXX")});
}
<input type="button" value="ok" id="btn" />
{
//debugger
this.OO=OO;
this.XX=XX;
document.body.bgColor = "#00ffff";
var s="";
for(var a in this){
s+=(a+"="+this[a] +"\t");}
alert(s)//為什么s的值不只 OO和XX呢
}
window.onload = function()
{
document.getElementById("btn").attachEvent("onclick",function(){OOXX("OOOOO","XXXXXX")});
}
<input type="button" value="ok" id="btn" />
在这个例子中function OOXX(OO,XX),是window
的方法所以this指window.
onafterprint=null
top=[object]
location=http://localhost:2873/WebSite5/HTMLPage.htm
parent=[object]
offscreenBuffering=auto
frameElement=null
onerror=null
screen=[object]
event=[object]
clipboardData=[object]
onresize=null
defaultStatus=
onblur=null
window=[object]
onload=function() { document.getElementById("btn").attachEvent("onclick",function(){OOXX("OOOOO","XXXXXX")}); }
onscroll=null
screenTop=105
onfocus=null
Option=[object]
length=0
onbeforeprint=null
frames=[object]
self=[object]
clientInformation=
XMLHttpRequest=[object]
external=
screenLeft=0
opener=undefined
onunload=null
document=[object]
closed=false
history=[object]
Image=[object]
navigator=
status=
onhelp=null
name=
OO=OOOOO
XX=XXXXXX 为什么遍历方法内的this后得到不是 OO和Xx这个2个值呢?
this.睡觉
this.打豆豆谁说的这句话,this就是谁。
同理谁调用的函数,this就是谁。
一般方法里的this是指方法所属的对象。你这里默认了该对象是windows本身,所以他就输出了windows对象的所有属性了。