易截截图软件、单文件、免安装、纯绿色、仅160KB

JavaScript面向对象编程

许多Web开发人员对JavaScript的了解仅仅停留在简单的表单数据操作,以及浏览器DOM对象的简单操作上,以达到一些数据验证和动态页面的效果。所以当要实现的功能比较复杂时,写出的代码就显得凌乱并且难以维护,更不用说实现一个基于JavaScript的UI框架了。事实上,JavaScript 提供了完善的机制来实现面向对象的开发思想。
本章假设读者已经了解面向对象思想的基本概念,熟悉对象、类、继承等基本术语。以此为基础,将重点介绍如何在 JavaScript 中使用面向对象的思想,包括实现的原理、机制和技巧。我们将使用JavaScript来实现以下面向对象特性:
¾ 对象、类;
¾ 封装;
¾ 多态;
¾ 继承。
1.对象
在JavaScript中创建一个对象非常简单,我们可以使用内建的Object对象来创建一个对象:
var myObj=new Object;    //创建一个名为myObj的对象
myObj.name='sam';         //给myObj对象添加一个name属性,其值为sam
myObj.age=28;             //给myObj对象添加一个age属性,其值为28
我们也可以使用JSON(JavaScript Object Notation)[1] 来创建一个对象:
var myObj={name:’sam’,age:28}
//创建一个包含name属性值为sam,age属性值为28的对象
2.类
JavaScript不同于Java、C++、C#等面向对象语言,它通过构造函数和原型对象(prototype)来实现类的创建。为了创建一个类,还需要创建一个构造函数:
function Person(name,age){
this.name=name;
this.age=age;
}
这样我们就创建了一个构造函数(类),它包含两个属性:name和age。
var sam=new Person('sam',28);   //创建一个Person对象,name为sam,age为28
我们可以通过“.”运算符来访问它的属性:
alert(sam.name);   //输出结果为sam
var bob=new Person('bob',30);   //创建一个Person对象,name为bob,age为30
alert(bob.age);   //输出结果为30
细心的读者可能会发现,到目前为止,我们通过函数创建的对象只是封装了数据成员,并没有封装相应的方法。下面我们将在Person类中添加一个方法:
function Person(name,age){
this.name=name;
this.age=age;
this.introduceSelf=function(){
alert('I am '+name+' , I am '+age +' years old.');
}
}
var sam=new Person('sa


相关文档:

Javascript继承

一直想对Javascript再次做一些总结,正好最近自己写了一个小型Js
UI库,总结了一下Js的继承机制,在网上也看了一些前辈们博客里的总结,感觉分析不是特别全面。这里仅仅是把自己的学习体会拿出来分享一下,希望对大家
学习Javascript有所帮助。


Javascript本身是从Perl语言的语法演变而来的,本质上是脚本语言 ......

JavaScript判断浏览器类型及版本

你知道世界上有多少种浏览器吗?除了我们熟知的IE, Firefox, Opera, Safari四大浏览器之外,世界上还有近百种浏览器。
       几天前,浏览器家族有刚诞生了一位小王子,就是Google推出的Chrome浏览器。由于Chrome出生名门,尽管他还是个小家伙,没有人敢小看他。以后,咱们常说浏览器的&ld ......

一些JavaScript的处理

倒计时计算
<body>
<div id="countdown"></div>
<mce:script type="text/javascript"><!--
var i = 0;
(function(){
var hour, min, sec, text;
tmp = 12 * 60 * 60 - i;
hour = Math.floor(tmp / 3600);
tm ......

Javascript代码收藏大全


Javascript代码收藏大全
1. oncontextmenu="window.event.returnvalue=false" 将彻底屏蔽鼠标右键
<table border oncontextmenu=return(false)><td>no</table> 可用于Table
2. <body onselectstart="return false"> 取消选取、防止复制
3. onpaste="return false" 不准粘贴
4. oncopy="retu ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号