javascript面向对象之定义成员方法实例分析
人气:0本文实例分析了javascript面向对象之定义成员方法。分享给大家供大家参考。具体如下:
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>
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>
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(){..................}
希望本文所述对大家的javascript程序设计有所帮助。
加载全部内容