楼主的标题里符号少一点吧,半行就够了,界面都走形了第一个就不用解释了吧,a.toString()就是这个字符串第二个只有执行a.b()(或者apply调用)才能指定b的所属对象为this,
如果没有a. ,那this就是指全局的载体window
相当于先执行了var x=a.b; alert(x());

解决方案 »

  1.   

    var a=function(x){alert(x())}
    a.b=function(){return this}
    a.c=function(x){alert(x())}
    a.c(a.b)//弹出的依然是window对象,这表明参数(a.b)的作用域和a.c的a.无关
      

  2.   

    var a=function(x){alert(x())}
    a.b=function(){return this}
    a.c=function(x){alert(x())}
    var d=function(){
    a.c(a.b)
    }
    d.call(a)//弹出window对象,这表明参数(a.b)的作用域和调用它的环境无关
      

  3.   

    var x=a.b;//x和a无关
    var result = x();
    alert(result);//是window,x.call(a)才是a函数