|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
只要你想学,就没什么优缺点,上面那位大哥已经把网上的评论说了,但我认为想学哪个都一样,不然它就不可能在当今时代数字艺术方面存活到今天 关于script的dictionary对象,其实我想一入手下手ms是自创了python之类的静态剧本言语的,并且是面临客户端开辟的关于这一点可以参考wrox的asp法式员参考手册里第137页里,假如在session级保留一个dictionary对象会下降体系的功能,而在application级保留一个dictionary对象会招致web办事器溃散,关于这个就不在多说了。
如今咱们要思索的是dictionary对象在单页的时分,有哪些设计时的缺点:
人人可以这么尝尝
set rs=server.createobject("adodb.recordset")
sql="select * from table"
rs.open sql,conn,1,3
set ttt=server.createobject("scripting.dictionary")
ttt.add "xxx",rs("field")
set rs=nothing
liu=ttt("xxx")
当你这么做的时分会发明一件甚么事呢?asp页会告知你产生不测!!!这个就很使人惊讶了,甚么是不测呢?很难说,后来经由我重复的测试发明是由于不克不及把rs("field")的值直接给dictionary对象,经由重复研讨得出的结论是以下的:dictionry是把rs("field")的内存地址给贮存了,如许的话,我方才写的谁人无疑是一种灾害,处理办法是把这个rs("field")放到一个变量里就能够处理了,然而dictionary对象岂非不成以保留一个被nothing过的对象么?这个就是一个很大的疑问了,所以我又写了这么一段法式,人人可以保留成try.htm看看后果的
<script language='vbscript'>
set ttt=createobject("scripting.dictionary")
ttt.add "liu","uuu"
set ddd=createobject("scripting.dictionary")
ddd.add "ppp",ttt
set ttt=nothing
bbb=ddd("ppp")("liu")
alert(bbb)
</script>
了局是甚么?你会发明一段alert了uuu申明是没有成绩的,这就申明dictionary对象实际上是把另外一个dictionary对象全部clone出去了,这就更验证了wrox的书中写的,dictionary对象在ms开辟的时分实际上是针对客户真个,这类说法了
还有对数组与dictionary适用的代码也能够给人人看看的
<script language='vbscript'>
i=1
picname=("xxx")
str="set " & "pic_" & i & "=createobject(" & """" & "scripting.dictionary" & """" & ")"
execute(str)
str="pic_" & i & ".add " & """" & "picname" & """" & "," & """" & picname & """"
execute(str)
dim ttt()
redim ttt(5)
ttt(0)="uuu"
pic_1.add "item",ttt
liu=pic_1("picname")
set pic_2=createobject("scripting.dictionary")
erase ttt
redim ttt(5)
ttt(0)="iii"
nnn=pic_1("item")(0)
pic_2.add "rrr",ttt
zzz=pic_2("rrr")(0)
alert(liu)
alert(nnn)
alert(zzz)
</script>
问题是他们究竟是喜欢他们是使用软件时,速度快还是速度慢好.(当然在3秒以内).无论是他们输入资料时,查找资料时,分析资料时. |
|