标签:
一个函数可以看成一个类,原型是所有类都有的一个属性,原型的作用就是给这个类的每一个对象都添加一个统一的方法,面相对象的js就是属性用this.a来定义,方法用原型来定义,使用的时候new一个对象
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "<
a
href
=
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>" target="_blank">http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></
a
>
<
html
xmlns
=
"<a href="
http://www.w3.org/1999/xhtml"
xml:lang
=
"en"
>" target="_blank">http://www.w3.org/1999/xhtml" xml:lang="en"></
a
>
<
head
>
<
meta
http-equiv
=
"Content-Type"
content
=
"text/html;charset=UTF-8"
>
<
title
>Document</
title
>
<
script
>
//声明一个类
function Person(name,age)
{
this.name=name;
this.age=age;
}
//使用原型给类添加方法
Person.prototype.show=function()
{
alert("我叫"+this.name+",今年"+this.age);
}
//创建两个对象
var person1 =new Person(‘张三‘,20);
var person2 =new Person(‘李四‘,23);
//调用原型里面的方法
person1.show();
person2.show();
</
script
>
</
head
>
<
body
>
</
body
>
</
html
>
首先感谢你能这么耐心的解释。我最后还有一个疑问直接用person.show=function(){alert("")} 那么下面两个person1和person2不也有show()这个方法吗
直接Person.show=function()
{
}
这样写的话是不能person1.show()这样调用的,只能Person.show()这样调用,这个就像其他面向对象的语言中的类的静态方法那样。
标签:
原文地址:http://www.cnblogs.com/yaoyao-sun/p/5223643.html