var foo = 1;
function main(){
alert(foo);
var foo = 2;
alert(this.foo)
this.foo = 3;
}
main();//结果undefined和1,第一个undefined是因为虽然 var foo = 1,为全局变量,但是在函数体main()中,要调用此全局变量需加window,即window.foo;第二个alert为1,是因为this指向的是window
//var m2 = new main();//undefined,undefined, 第一个undefined如第一个调用,第二个undefined是因为此时的this指向的是main()