免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2082 | 回复: 0
打印 上一主题 下一主题

JAVASCRIPT高级应用面向对象 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2011-06-10 17:55 |只看该作者 |倒序浏览
JAVASCRIPT高级应用面向对象


在传统的web开发模式当中,javascript只是一种点缀的作用,完成了有限的一些功能,比如表单验证之类的。而在当然我们对javascript的开发要求越来越高,也越复杂,对于这样需求,我们可以使用面向对象编程的思想,使它们在逻辑上面更加清晰、轻巧。

  面向对象中很核心的概念之一就是Class.下面我们在javascript模拟一下

  function person(name,age){

  this.name=name;

  this.age=age;

  }

  var person = new person('your are name?','25');

  alert(person.name);

  对象有不同的属性与方法,这个取决于它们实例化的对象(l类),我们可以用.或者[]来获取或者赋值给对象的属性。以下代码与以上代码结果保持一致。

  function person(name,age){

  this.name=name;

  this.age=age;

  }

  var person = new person('your are name?','25');

  alert(person['name']);

  javascript的函数还是比较棒的,相对于上面写法,我们还可以使用匿名函数如下;

  var person = function(name){

  this.name=name;

  alert(this.name);

  }

  person('Hello word!!');

  为了进一步说明函数就是对象,我们还可以为在函数中为对象添加属性,如下;

  var person=function(name){

  this.name=name;

  }

  person.show="Thank you!!";

  alert(person.show);

  怎么样,很好用吧,接下来我们为对象来添加方法,一般在开发当中采用匿名类方式比较多,我们也采用这种方式如下;

  var person={

  'name':'person',

  'age':'25',

  'show':function(){

  alert(''My name is '+ this.person);

  }

  };

  person.show();

  我们可以通过this来引用person对象,通过对象来调用属性或者方法,this引用的值不是静态的,通过不同的对象调用this时,它便会指向不同的对象。

  原型是javascript面向对象中很重要的一个概念,这些对象从原型中继承了属性和方法。

  
  1. function person(name){

  2.   this.name=name;

  3.   }

  4.   person.prototype.sayHi=function(){

  5.   alert('My name is prototype!!');

  6.   }

  7.   var p = new person();

  8.   p.sayHi();
复制代码
  这样我们就可以实现出来了,相对于上我们也可以这样写;
  1.   function person(name){

  2.   this.getName=function(){

  3.   alert("Thank you!!!!!")

  4.   }

  5.   }

  6.   person.prototype.sayHi=function(){

  7.   alert('My name is prototype!!');

  8.   }

  9.   var p = new person();

  10.   p.sayHi();

  11.   p.getName();
复制代码
  在javascript当中还有一个比较重要,javascript空间命名,相似面向对象包的概念如下:

  //定义空间,模拟于java包的概念'

  
  1. var space = {};

  2.   var out = java.lang.System.out;

  3.   space.person= {

  4.   "name" : "kpxu",

  5.   "show" : function(name) {

  6.   out.println("hello word...." + name);

  7.   }

  8.   }
复制代码
  使用面向对象构建JAVASCRIPT高级应用就已经写完了,在此谢谢大家,让我们一起努力吧!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP