1.省略dim,便利但也是隐患!
请求变量后再利用是尺度办法:
dim a
a = "1"
现实上,你不写dim也能够:
a = "1"
体系其实不以为失足,它会主动判别a是否是一个已存在的变量,存在就持续履行,假如不存在就主动帮你请求!看似体系好伶俐好智能好体恤,然而隐患出来了!体系晓得我的意思吗?体系极可能自作伶俐,好意帮倒忙!成绩一:假如我后面已请求了一个变量,好比administrator,前面我要给这个变量赋值,我不幸写错了个字母或少写了个字母,好比administratar = “me",体系终究等来了个“帮”我的时机,并“挺身而出”的为我声名变量,“体恤周密”难以言表!是的,法式或许能运转,但逻辑上已乱成一片了,由于体系没有报错(或报了个其他错来误导你),你基本不克不及很快定位到成绩处,假如法式很大,你花了良多工夫找到本源后,你感触若何?你一定很想骂体系“自做多情”,假如现在体系报一个administratar变量名不存在,我很快就可以晓得本人拼写错了,而把成绩敏捷改正,而不用“沉浸”在体系的“自做多情”傍边!省略dim后带来的另外一个隐患前面会讲!
2.函数内声名的变量不会搅扰内部的变量!
好比:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%>
<%
dim a
a = "1"
function getstr()
dim a
a = "2"
end function
response.Write a & "<br>"
getstr()
response.Write a & "<br>"
%>
这就是我要会商的成绩。请注重,利用..可以会见下层目次,因为而带来一个平安隐患:用户有能够不法援用站点内部文件。基于这个来由,Microsoft 宣布的 IIS Lockdown 东西屏障了这个援用办法,而且 Microsoft 在 Windows Server 2003 的 IIS6.0 上默许是屏障这类体例的。关于这类不在本目次内的包括文件,保举利用这类平安的援用办法:
<!--#include virtual="/inc/abc.asp"-->