A.prototype.b=22和A.b=22的区别

// A.prototype.b=22和A.b=22有什么区别

<script>
function A(){
    this.b=11;
}
A.b=22;//A.prototype.b=22;
var aa=new A();

alert(aa.b);//11

</script>

A.b:这里是将A当作是一个对象,给对象添加属性:var obj={};obj.b=22;

A.prototype.b:这里是对A的原型添加属性,比如String.prototype.trim=function(){};给String的原型添加方法;

其中用A.b给对象添加的属性不能通过new出来的对象(实例化出来的对象)去访问,同时对A的原型添加属性(A.prototype.b)也不能通过对象A去访问;

实例化出来的对象可以访问到构造函数里面定义的属性页可以访问到原型属性(A.prototype.b),但是首先寻找构造函数里面的属性,如果没有找到再到原型上面去找

 

posted @ 2014-10-20 22:31  暗语321  阅读(517)  评论(0编辑  收藏  举报