日期:2014-05-16  浏览次数:20318 次

prototype 属性到底有什么作用
prototype   属性
返回对象类型原型的引用。

objectName.prototype

objectName   参数是对象的名称。  

说明
用   prototype   属性提供对象的类的一组基本功能。   对象的新实例“继承”赋予该对象原型的操作。  


用起来是会用
但就是不明白里面的道理

------解决方案--------------------
某个函数(类)的prototype属性会自动赋给这个函数(类)的实例(对象)。如下面的例子:
function ClassA(){
this.attr1 = 'attribute 1 ';
}

ClassA.prototype = {
this.attr2 = 'attribute 2 ';
};

var obj = new ClassA();
alert(obj.attr1 + ": " + obj.attr2);
------解决方案--------------------
写习惯了,写错了,是这样的:
function ClassA(){
this.attr1 = 'attribute 1 ';
}

ClassA.prototype = {
attr2 : 'attribute 2 '
};

var obj = new ClassA();
alert(obj.attr1 + ": " + obj.attr2);
------解决方案--------------------
上面两种方式单独运行结果是一样的.

其实没有什么不同.
由于ClassA.prototype是一个对象,所以可以给它添加属性.如:

ClassA.prototype.attr2= 'attribute 2 ';
由于ClassA.prototype是一个对象,所以也可以直接给整个对象复制.如:

ClassA.prototype = {attr2 : 'attribute 2 '};

------解决方案--------------------
不懂
------解决方案--------------------
<script>

function Person(name,age){
this.Name=name;
this.Age=age;
}
Person.prototype.SayHello=function(){
alert( "Hello,my name is "+this.Name+ ",I am "+this.Age+ " years old. ");
}
var Lily=new Person( "Lily ",19);
var Tom=new Person( "Tom ",21);
Lily.SayHello();
Tom.SayHello();

</script>