Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 网站建设 > ASP.NET > asp.net ajax应用技巧之方法的重载
【标  题】:asp.net ajax应用技巧之方法的重载
【关键字】:asp.net,ajax
【来  源】:http://blog.csdn.net/keyler/archive/2006/11/23/1406783.aspx

asp.net ajax应用技巧之方法的重载

Your Ad Here

今天在forum中看到一个很有趣的帖子,就是在javascript中实现方法的重载了,如果有兴趣的话去看看Method Overloading with JavaScript吧;本想改简单点再贴上来的,不过还是想想还是算了,原来的例子也不是很复杂。

 

// Création d'un namespace

Type.registerNamespace(
'Sample'); 

 

// Constructeur de la class Personne

Sample.Person 
= function(firstName, lastName){

    
this._firstName = firstName; 

    
this._lastName = lastName;

}

 

// Rajout des différentes méthodes à notre type

Sample.Person.prototype 
= {

    get_firstName : 
function(){

        
return this._firstName; 

    },

    set_firstName : 
function(value){

        
this._firstName = value; 

    },

    get_lastName : 
function(){

        
return this._lastName; 

    },

    set_lastName : 
function(value){

        
this._lastName = value; 

    },

    toString : 
function(){

        
if (arguments.length == 1 && Object.getType(arguments[0]) ==
 String){

            
return this.toString$String.apply(this
, arguments);

        } 
else if (arguments.length == 2 && Object.getType(arguments[0]) == String && Object.getType(arguments[1]) ==
 Sample.Person){

            
return this.toString$String$Person.apply(this
, arguments);

        } 
else
 {

            
return this.toString$.apply(this
, arguments);

        }

    },

    toString$ : 
function(){

        
return String.format('je suis {0} {1}'this.get_firstName(), this.get_lastName());

    },

    toString$String : 
function(format){

        
return String.format(format, this.get_firstName(), this.get_lastName());

    },

    toString$String$Person : 
function(format, person){

        
return String.format('{0} , {1}'this.toString(format), person.toString(format));

    }

}

 

// Enregistrement de notre type dans le framework Atlas

Sample.Person.registerClass(
'Sample.Person');

 if(Sys && Sys.Application){Sys.Application.notifyScriptLoaded();}

 

这里的方法的重载 重点就在于arguments这个变量,根据它的length和type判断要调用的方法,当然,每个函数所自带apply方法也功不可没噢

最后,在 .aspx 页面里再加入下面javascript就可以看到效果了。

window.pageLoad = function(){

        
var p = new Sample.Person('Cyril''Durand');

        
        alert(p.toString());

        alert(p.toString(
'{0} {1}'));

        
        
var p2 = new Sample.Person('Toto''Bidule');

        alert(p.toString(
'{0} {1}', p2));

    }

 

 

TOMCAT 5.0.28 MSSQL Server 2000数据库连接池配置:【上一篇】
asp中用CDO发送简单电子邮件:【下一篇】
【相关文章】
  • ASP.NET 2.0数据教程之一: 创建一个数据访问层
  • ASP.NET 2.0数据教程之二:创建一个业务逻辑层
  • ASP.NET2.0教程之三:母板页和站点导航
  • ASP.NET 2.0数据教程之四:: 使用ObjectDataSource展现数据
  • Ajax并不是一种技术(Ajax入门好文章)
  • 大家在asp.net 中支持ubb的~~用的是什么控件呀?
  • 对“asp.net中自定义日历控件”一文的补充
  • ASP.NET程序中常用的三十三种代码(一)
  • Asp.Net Forums中对.Net中序列化和反序列化的应用
  • 关于Ajax
  • 【随机文章】
  • MSDN 精简版 - 包含DDK
  • 开启一个预先定义好的WORD模板并替换模板中指定的某个字符串
  • 豪杰超级解霸 3000 共享版(英雄版)算法 上
  • DDS4磁带机使用DDS2磁带的block_size设置
  • 部分省份城市的DNS服务器地址
  • 我的XP+FC5.0+Ubuntu 6.06三系统安装成功!
  • gets()函数实现数组录入时连续两次回车退出程序
  • Visual Studio.Net 内幕(9)
  • UDP用打洞技术穿透NAT的原理与实现
  • perl locale 错误
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.