网络编程
位置:首页>> 网络编程>> Asp编程>> ASP函数指针试探-GetRef

ASP函数指针试探-GetRef

作者:Anyyes 来源:ASP Quick Work 官方网站 发布时间:2009-10-12 12:39:00 

标签:asp,函数,指针,GetRef

近日在学习C++,看到函数指针,由于之前一直搞ASP,所以想ASP里面是否也有这个函数指针的东西,于是翻了翻VBScript手册,没让我失望,找到了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
%>

0
投稿

猜你喜欢

手机版 网络编程 asp之家 www.aspxhome.com