function fun(){
var People = function(name){
this.name = name;
alert('调用方法而已');
this.init();
}
People.prototype.init = function(){
alert('People初始化!');
}
return People;
}
var p = fun();
new p;
fun()返回的是Person变量引用的函数,所以fun()()只会打印 '调用方法而已'
奇怪的是new fun()什么都不打印?谁知道请麻烦告诉我,多谢了
我这里先赋值给p,然后再new,又有用,难道非得间接一下才好使?
fun()()不打印'People初始化!'的原因:
定义People函数时没有init()方法,之后加到prototype,而prototype只有在实例化才能绑定,继而通过原型链找到init()方法