javascript面向对象,定义成员方法如下所示:
复制代码 代码如下:
<script language="javascript" type="text/javascript">
function Person(name,age){
this.name = name;
this.age = age;
this.show = function(){
document.write(this.name+"今年"+this.age+"岁");
}
}
var p1 = new Person("王美人",24);
p1.show();
</script>
说明:
(1)这里用到了构造函数;
(2)this.show=function()这种定义方法,使得每个实例化的对象都拥有这个方法。如果需要某个实例化对象单独拥有,则可以将函数写在外部,然后再传递过来,如下面实例;
(3)this.show的function()内,也可以有参数。
函数在外部定义
因为javascript对象的属性与方法是动态增加的,所以可以这么定义:
复制代码 代码如下:
<script language="javascript" type="text/javascript">
function Person(name,age){
this.name = name;
this.age = age;
}
function show(){
window.alert("hello,"+this.name);
}
var p1 = new Person("王美人",24);
p1.show1 = show;//注意,函数后面带()与不带()的区别。带括号表示将结果给p1.show1,而不带括号表示将该函数给p1.show1。
p1.show1();
</script>
或者也可以这样定义:
复制代码 代码如下:
p1.show1 = function show(){..................}