var m1 = main();//第一次undefined,因为函数内部有声明变量foo,在预编译的时候声明该变量,值为undefined 第二次为1,因为当前this指向window
var m2 = new main();//第一次同上 第二次为undefined,this指向m2此时m2的foo变量还未进行赋值改的话
alert(foo);
alert(foo);
var foo = 2;
this.foo=3;
这样就可以达到相同结果的目的
var m2 = new main();//第一次同上 第二次为undefined,this指向m2此时m2的foo变量还未进行赋值改的话
alert(foo);
alert(foo);
var foo = 2;
this.foo=3;
这样就可以达到相同结果的目的
1 this指向的window
undefined 没有块级作用域
undefined 没有块级作用域
var m=main() m是undefind 不明白你的意思了