木子屋 Dnawo's BLOG

自定义可选参数的ASP函数测试

👤 dnawo 📅 2007-02-14 👁 7313 👍 0 💬 0 🔄 来源:本站原创
一、下边是测试过程

1.设定一个带参数的函数
<%
Function returnmsg(a)
	returnmsg = ""
	returnmsg = returnmsg & "参数:" & a
End Function
%>


1.1 returnmsg()调用
错误信息:
Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值: 'returnmsg'
/return.asp,行6


1.2 returnmsg("")调用
结果正确。

1.3 returnmsg(null)调用
结果正确。

1.4 returnmsg("www.mzwu.com")调用
结果正确。

2.定义两个同名参数,一个带参数一个不带参数
<%
Function returnmsg(a)
	returnmsg = ""
	returnmsg = returnmsg & "参数:" & a
End Function
Function returnmsg()
	returnmsg = ""
	returnmsg = returnmsg & "无参数"
End Function
%>


2.1 returnmsg()调用
结果正确。

2.2 returnmsg("www.mzwu.com")调用
结果错误:
Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值: 'returnmsg'
/return.asp,行10


3.定义两个同名函数,同2,但改下顺序
<%
Function returnmsg()
	returnmsg = ""
	returnmsg = returnmsg & "无参数"
End Function
Function returnmsg(a)
	returnmsg = ""
	returnmsg = returnmsg & "参数:" & a
End Function
%>


3.1 returnmsg()调用
结果错误:
Microsoft VBScript 运行时错误 错误 '800a01c2'
错误的参数个数或无效的参数属性值: 'returnmsg'
/return.asp,行10


3.2 returnmsg("www.mzwu.com")调用
结果正确。

二、测试结果

1.ASP不能定义可省略参数的函数,要省略的参数必须用""或null代替
2.定义两个或多个同名的函数时,ASP只认最后的一个

三、后记
定义一个新类,并在里边设置同名的方法:
<%
Class NewClass
	Public Function returnmsg()
		returnmsg = ""
		returnmsg = returnmsg & "无参数"
	End Function
	Public Function returnmsg(a)
		returnmsg = ""
		returnmsg = returnmsg & "参数:" & a
	End Function
End Class
Dim MyClass
Set MyClass = New NewClass
Response.write MyClass.returnmsg()
Response.write MyClass.returnmsg("2")
%>

结果错误:
Microsoft VBScript 编译器错误 错误 '800a0411'
名称重定义
/return.asp,行7
Public Function returnmsg(a)

评论(0)

暂无评论。

验证码
评论需审核通过后显示
← 上一篇 网页程序员应该知道的调试方法 下一篇 → 同名的全局变量和局部变量