Javascript中的方法,在声明的时候都做了些什么?
如
[code]
function func(a){
this.a = a;
}
[/code]
f会自动分配一个prototype属性,这个prototype属性是个对象,这个对象只有一个constructor属性,而这个constructor属性指向func
也就是说,当声明了一个方法,那么这个方法就有以下关系
[code]
alert(func === func.prototype.constructor);
[/code]
那么用new创建一个对象又做了些什么呢?
[code]
var f = new func("a");
[/code]
1.创建一个没有任何属性的空对象。
2.把这个新对象作为this关键字的值,并调用这个构造方法。
3.设置这个新对象的prototype(这个prototype是其构造方法的prototype)
如
[code]
function func(a){
this.a = a;
}
[/code]
f会自动分配一个prototype属性,这个prototype属性是个对象,这个对象只有一个constructor属性,而这个constructor属性指向func
也就是说,当声明了一个方法,那么这个方法就有以下关系
[code]
alert(func === func.prototype.constructor);
[/code]
那么用new创建一个对象又做了些什么呢?
[code]
var f = new func("a");
[/code]
1.创建一个没有任何属性的空对象。
2.把这个新对象作为this关键字的值,并调用这个构造方法。
3.设置这个新对象的prototype(这个prototype是其构造方法的prototype)