option explicit dim str1,str2 str1 ="order|||shiyang:100,mayang:200" str2 = "book|||shuming:计算机,dingjia:100" '声明2个全局对象 '放弃了一开始希望用数组存储的方式,那个虽然效率更高,但是需要自定义的array_pushobj函数,所以此处不做讨论了 dim objname_g dim classname_g '返回实体类 function getObjmod(byval str) dim classname,itemlist,i dim execstr classname = split(str,"|||")(0) execstr = "class "&classname&chr(10) itemlist = split(split(str,"|||")(1),",") for i = 0 to ubound(itemlist) execstr = execstr +"public "&split(itemlist(i),":")(0)&chr(13)&chr(10) next execstr = execstr&"end class"&chr(13)&chr(10)&_ " set objname_g = new "&classname classname_g =classname execute execstr end function '赋值 function getobjcon(byval str) dim itemlist,i,execstr if classname_g = split(str,"|||")(0) and isobject(objname_g) then set getobjcon = objname_g else getObjmod( str) set getobjcon = objname_g end if itemlist = split(split(str,"|||")(1),",") for i = 0 to ubound(itemlist) execstr = execstr +"getobjcon."&split(itemlist(i),":")(0)&" = """&split(itemlist(i),":")(1)&"""" &chr(13)&chr(10) next execute execstr end function '测试函数 sub ceshi3 dim i,o1 for i = 0 to 10000 set o1 = getobjcon(str1) response.write o1.shiyang&"<br>" next set o1 = getobjcon(str2) response.write o1.shuming&"<br>" end sub dim t1 t1=timer() call ceshi3 response.write FormatNumber((timer()-t1),4,-1)