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"  />

解决方案 »

  1.   

    在JS中this永远指向属性或方法所属的对象。
    在这个例子中function OOXX(OO,XX),是window
    的方法所以this指window.
      

  2.   

    这里 this 代表 OOXX 
      

  3.   

    JS中this永远指向属性或方法所属的对象。 
      

  4.   

    现在实际输出的是onbeforeunload=null 
    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个值呢?
      

  5.   

    JS中this永远指向调用它的对象。 
      

  6.   

    “吃饭、睡觉、打豆豆”this.吃饭
    this.睡觉
    this.打豆豆谁说的这句话,this就是谁。
    同理谁调用的函数,this就是谁。
      

  7.   

    this 就是 this。而不是 caller。
      

  8.   

    在函数里的this,当有实例化的对象时候:比如 var a=new dd();这个函数里的this指向这个实例化对象,也就是a,当没有实例化的对象时候,this指向window对象
      

  9.   

    this,和java里面的this一样,就是当前对象
      

  10.   

    你这里的this当然是windows对象了。
    一般方法里的this是指方法所属的对象。你这里默认了该对象是windows本身,所以他就输出了windows对象的所有属性了。
      

  11.   

    俺的理解是:this 是个变量,类似指针,指向 function 的运行环境(或者说是上下文,即 context)!
      

  12.   

    根据它的上下文(context)来决定。在你的例子里,OOXX函数是在按钮控件(id=btn)的onclick事件监听器中调用的,所以这时函数OOXX内部的this直向德应该是ID=BTN的按钮元素。