JAVASCRIPT - - 面向对象编程

以前我就简单的看过一点javascript,对javascript的印象就是一对散落在html里的脚本,没有调试器,杂乱无章。当出现AJAX时,我一直在想,那么多js代码怎么编写和维护啊!后来看了一些关于AJAX的书籍,才知道在浏览器端用AJAX也可以实现MVC!当然实现mvc必然是oo 思想啊,所以才注意到javascript支持面向对象!下面做简单的介绍!

fucntion Person()  {   //我们都知道这是一个函数,其实他也可以是类 } 

 

function Person(pname, psex, page) {
        this.name = pname;
        this.sex = psex;
        this.age = page
   } 
   
   var p = new Person("xiaowang", "man", 18);
   alert(p.name + " " + p.sex + "  " + p.age);

这样function Person就是个类了,他拥有成员变量!注意!一定要用this.成员变量,否则就成了本地变量了

function Person就成了构造函数

当然也可以往对象里加入成员函数

 

function  Person(pname, psex, page)  {
   
this.name = pname;
   
this.sex = psex;
   
this.age = page
   
this.showinfo = function si() {
      alert(p.name 
+ " " + p.sex + " " + p.age);
   }

}
    
        
var  p  =   new  Person( " xiaowang " " man " 18 );
p.showinfo();

showinfo就是其中的一个成员函数,从定义可以看出,showinfo就是个变量引用了一个函数,由此可以猜测一下js的实现!

还有另一种创建对象的方法,可以说是运行中创建,就是使用prototype,prototype里面的变量或方法,是所有对象共享的。

 

             function  Person(pname, psex, page)  {
                
this.name = pname;
                
this.sex = psex;
                
this.age = page
                
this.showinfo = function si() {
                    alert(p.name 
+ " " + p.sex + " " + p.age);
                }

            }
    
            
            
var  p  =   new  Person( " xiaowang " " man " 18 );
            p.showinfo();
            
            
            
            Person.prototype.newFun 
=   function  ()  {
                alert(
this.name + " new member function");
            }

            
            
var  p1  =   new  Person( " xiaoli " " woman " 20 );
            p1.showinfo();
            
            p1.newFun();
            p.newFun();   



使用prototype创建成员变量的方法类似,这在运行中就可以添加成员。

看来javascript中的函数都是通过引用调用的,倒是个不错的实现oo的方法

实现名字空间的方法:

var  myspace  =   new  object();  // 创建一个名字空间
myspace.something;  // 在名字空间加东西

设置静态常量的方法:
Person.MAX_AGE  =   110 ;
Person.MIN_AGE 
=   0 ;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值