这里this为什么指的是val对象,而不是window和函数showObj对象?this怎么理解

<SCRIPT LANGUAGE="JavaScript">
var name = "woziji";
function showObj(val,params){
var hanshu='dd';
function _new(){
alert(this.name);
this.ff.call(this,params);

}
_new.prototype = val;
return new _new();
}

var val = {
test:'gwj',
ff:function(test){this.test=test;},
show:function(){alert(this.test+"   --    ");}
};

var ss = new showObj(val,'qqqqqqq');
ss.show();
</SCRIPT>

this代表当前 _new 并设置了_new属性为val,_new.prototype = val; 所以你this能访问val对象,
通过 函数 call apply 都能改变 this 对象