Ajax In Action 附录 B2.3
来源:互联网 发布:店宝宝软件下载 编辑:程序博客网 时间:2024/04/30 02:46
B 2.3 扩展内嵌类
JavaScript被设计成内嵌在那些可以自定义对象语言中的脚本语言,例如被嵌入在C++或者Java中。这些对象一般被称为内嵌对象或者主对象,这与用户自定义的对象有点差别。不过,原型技术也可以用在内嵌类上。通过Web浏览器,DOM的节点再IE中已经不能再扩展,但是在一些主流浏览器中,其他一些核心类是可以正常工作的,让我们以Array数组类为例看一下,并且定义一些有用的帮助函数:
Array.prototype.indexOf=function(obj){
var result=-1;
for (var i=0;i<this.length;i++){
if (this[i]==obj){
result=i;
break;
}
}
return result;
}
这就实现了为Array添加一个函数,这个函数实现了把Array的的对象的下标有序地返回到一个给定的数组里,在对象不存在的时候返回-1,我们可以进一步完善一下,写一个方法来判断,这个数组是否包含对象:
Array.prototype.contains=function(obj){
return (this.indexOf(obj)>=0);
}
然后添加另一个函数实现检测是否有重复后增加新的成员:
Array.prototype.append=function(obj,nodup){
if (!(nodup && this.contains(obj))){
this[this.length]=obj;
}
}
在定义完这些函数之后生成的Array的对象,不管是通过new生成的,还是通过JSON生成的,都可以使用这几个函数:
var got8=numbers.contains(8);
numbers.append("cheese",true);
对于用户定义的对象的原型,这些可以在对象生成的过程中完成,但是我建议在程序刚开始的时候就来做这些工作,来避免不必要的混淆,尤其是团队协作进行工作的时候。
圆形在我们进行Ajax客户端的对象模型开发的时候会很有用,一个细致的对象模型不仅能定义不同的对象类型,而且能完成类型的继承。JavaScirpt并不提供这个功能,而原型可以帮上这个忙,让我们来看一下。
- Ajax In Action 附录 B2.3
- Ajax In Action 附录 B2.1
- Ajax In Action 附录 B2.4
- Ajax In Action 附录 B2.5
- Ajax In Action 附录 B3.3
- Ajax In Action 附录B B1
- Ajax In Action 附录B 2.2
- Ajax In Action 附录B 2.6
- Ajax In Action 附录B 3.1
- Ajax In Action 附录 B3.2
- Ajax In Action 附录 B 3.4
- Ajax In Action 附录B 3.5
- 面向对象程序员JavaScript指南---摘自《Ajax in action》附录B
- AJAX in Action
- ajax in action (序言)
- Ajax in action读书笔记
- AJAX in Action
- AJAX in Action
- 教你解决问题:Compilation error java.lang.OutOfMemoryError
- VLAN间的通信方式总结
- 单播、组播、广播的区别和特点
- Symbian的消息,异步服务和活动对象
- Subversion的配置和使用说明
- Ajax In Action 附录 B2.3
- js得到url的各个部分
- 打印DataGridView的指定的列和行
- JavaScript编辑器介绍
- 简化的软件项目管理
- 关于appfuse里自动生成的tablemanager的使用问题
- 预测你2008年的爱情,很准哦! 95%人说准
- ThinkInJava读书笔记——关于Multi Nesting Class的对象初始化方法
- sql server 7.0/2000 转 2005 完全手册【官方】