js中的面向对象和原型

来源:互联网 发布:软件产品报价 编辑:程序博客网 时间:2024/05/17 23:02
<script type="text/javascript">
function fun(name){
    //alert(name);
}
//fun('tom');
/*var o = new fun('tom');
//在函数外部定义
o.age = 20;
o.eat = function(){
    alert(this.age);
}
o.eat();*/

//在函数内部定义
/*function fun(name){
    this.age = 20;
    this.eat = function(){//每一个对象都含有这个方法,势必会造成资源浪费,所以后面用到了原型
        //alert(name);
        alert(this.age);
    }
}
var o = new fun('tom');
o.eat();*/

//使用原型:原型对象是这个类的所有对象共享的一个东西,像函数定义这种东西,只需要一份就好了,所以把它放在原型对象里头非常合适。
function fun(name){
    this.age = 20;
}
//需要注意这个原型对象定义不能放在构造函数里头。
fun.prototype.eat = function(){
    alert(this.age);
}
var fun = new fun();
fun.eat();
</script>