• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    ASP GetRef 函数指针试探
    GetRef 函数
    返回一个指向一过程的引用,此过程可绑定某事件。
    Set object.eventname = GetRef(procname)
    参数
    object
    必选项。事件所关联的对象的名称。
    eventname
    必选项。要与函数绑定的事件的名称。
    procname
    必选项。该字符串中包含 Sub 或 Function 过程的名称,该过程与事件关联。
    说明
    GetRef 函数可以用来将 VBScript 过程 (Function 或 Sub) 与 DHTML (动态 HTML)页面中可用的任何事件联系在一起。DHTML 对象模型为不同对象提供了与各种可用事件有关的信息。
    在其他脚本和程序设计语言中,GetRef 所提供的功能被称为函数指针,即它指向了在指定事件发生时要执行的过程的地址。
    下面的例子说明了 GetRef 函数的使用:
    复制代码 代码如下:

    SCRIPT LANGUAGE="VBScript">
    Function GetRefTest()
    Dim Splash
    Splash = "GetRefTest Version 1.0" vbCrLf
    Splash = Splash Chr(169) " YourCompany 1999 "
    MsgBox Splash
    End Function
    Set Window.Onload = GetRef("GetRefTest")
    /SCRIPT>

    大概意思是为绑定事件所用,因为本人对ASP中事件了解不多,所以在这里对GetRef和事件的关系也不做过多的讨论。这里只研究下WEB开发应用中GetRef的用处。
    在PHP里面,PHP不支持指针,因此无法使用函数指针这一技术。PHP支持所谓的“函数变量”,可以把函数赋予某个变量,其作用类似于函数指针。
    简单点的例子:
    PHP里面可以这么做
    复制代码 代码如下:

    ?php
    $funcname = "cutstr";
    echo $funcname();
    function cutstr() {
    return "function";
    }
    ?>
    有了GetRef,类似上面的功能ASP也可以实现:
    %
    dim funcname
    funcname = "cutstr"
    response.Write(getref(funcname))
    function cutstr()
    cutstr = "function"
    end function
    %>

    实际应用:
    在做后台管理的项目时,比如新闻添加,删除,修改,等操作在同一个页面处理,一般我们会在form里面插入一个隐藏域action,或者url参数action,根据action的值来判断操作哪一步。通常这么写:
    select case request.querystring("action")
    case "add" : '要操作的代码段....
    case "modify" : '要操作的代码段....
    end select
    或者使用if else
    使用“函数变量”可以使代码更加简洁、清晰,附上一个完整的例子,该例是后台中常用的一种操作。修改、删除、添加。
    可以使用?action=×××来测试结果
    复制代码 代码如下:

    %
    option explicit
    dim array_action
    '合法的模块名
    array_action = array("list","add","add_form","modify","modify_form","del")
    '输出
    response.write(getref(action))
    '检验参数是否合法
    function action()
    dim str : str = request.querystring("action")
    action = array_action(0)
    if arr_in(array_action,str) then action = str
    end function
    '操作部分----------------------
    function list()
    list = "显示列表信息"
    end function
    function add()
    add = "执行添加操作"
    end function
    function add_form()
    add_form = "显示添加表单"
    end function
    function modify()
    modify = "执行修改操作"
    end function
    '------------------------------
    '检测是否存在于数组
    function arr_in(a,v)
    arr_in = false
    dim i
    if isarray(a) then
    for each i in a
    if i = v then : arr_in = true : exit for : end if
    next
    end if
    end function
    %>

    很多帖讨论ASP、PHP、.NET,到底哪个强,个人认为不是语言的问题,而是思想的问题,网站功能原理了解了,用什么语言写都一样,效率高不高、代码是否简洁明了,那就看自己的水平了。欢迎大家讨论!
    上一篇:ASP 使用三层架构 asp中使用类
    下一篇:ASP 三层架构  Error处理类
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    ASP GetRef 函数指针试探 ASP,GetRef,函数,指针,试探,