请问asp中如何判断一个数组对象是否存在?

stevenzhou 2002-05-12 05:05:15
请问asp中如何判断一个数组对象是否存在?
...全文
518 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenzhou 2002-05-13
  • 打赏
  • 举报
回复
<%
Dim arr1(9)

If IsArray(arr1) Then
Response.Write "array arr1 is exists"
Else
Respones.write "array arr1 is not exists"
End If

response.write "<br>"

If IsArray(arr2) Then
Response.Write "array arr2 is exists"
Else
Respones.write "array arr2 is not exists"
End If

%>

出错信息如下:
本页无法显示
试图访问的网页出现问题,无法显示。

请尝试以下方法:

* 单击 刷新按钮或者梢候再试。
* 打开 localhost 主页,然后查找与所需信息相关的链接。

HTTP 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务

技术信息(适用于支持人员)

* 错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
/tks/2.asp, 第 15 行

* 浏览器类型:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4.1) Gecko/20020314 Netscape6/6.2.2

* 页:
GET /tks/2.asp

* 时间:
2002年5月13日, 12:46:40

* 详细信息:
Microsoft 支持

stevenzhou 2002-05-13
  • 打赏
  • 举报
回复
<%
Dim arr1(9)

If IsArray(arr1) Then
Response.Write "array arr1 is exists"
Else
Respones.write "array arr1 is not exists"
End If

response.write "<br>"

If IsArray(arr2) Then
Response.Write "array arr2 is exists"
Else
Respones.write "array arr2 is not exists"
End If

%>

出错信息如下:
本页无法显示
试图访问的网页出现问题,无法显示。

请尝试以下方法:

* 单击 刷新按钮或者梢候再试。
* 打开 localhost 主页,然后查找与所需信息相关的链接。

HTTP 500.100 - 内部服务器错误 - ASP 错误
Internet 信息服务

技术信息(适用于支持人员)

* 错误类型:
Microsoft VBScript 运行时错误 (0x800A01A8)
/tks/2.asp, 第 15 行

* 浏览器类型:
Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:0.9.4.1) Gecko/20020314 Netscape6/6.2.2

* 页:
GET /tks/2.asp

* 时间:
2002年5月13日, 12:46:40

* 详细信息:
Microsoft 支持

tripofdream 2002-05-12
  • 打赏
  • 举报
回复
>>再问一下:如何判断某个session对象是否已经被创建
只能在创建时给session对象赋一不为空的值,然后根据值是否为空来判断,因为session和application对象跟其它对象最大的不同就是前者只要被引用就会被创建.
julyclyde 2002-05-12
  • 打赏
  • 举报
回复
isEmpty判断变量是否使用过
没有isNothing吧?
xxjmz_78 2002-05-12
  • 打赏
  • 举报
回复
就是isarray了
希偌 2002-05-12
  • 打赏
  • 举报
回复
isarray
超级大笨狼 2002-05-12
  • 打赏
  • 举报
回复
If Not IsNothing(obj) Then 对象已经存在
popcode 2002-05-12
  • 打赏
  • 举报
回复
if not IsArray(数组名) then 对象不存在
秋风ss落叶 2002-05-12
  • 打赏
  • 举报
回复
If Not IsNothing(obj) Then 对象已经存在
sjhasp 2002-05-12
  • 打赏
  • 举报
回复
IsArray(数组名)
stevenzhou 2002-05-12
  • 打赏
  • 举报
回复
再问一下:如何判断某个session对象是否已经被创建?
1.运行环境 本书7~10章所附代码的运行环境 Windows家族,.NET Framework 2.0及以上版本 IIS 5.0及以上版本 本书14~16章所附代码的运行环境 Windows家族,Apache 2.0及以上版本 PHP 5.0及以上版本 本书17~18章所附代码的运行环境 Windows家族,Tomcat JDK6.0 本书19~21章所附代码的调试环境 IE 6.0及以上版本 2.调试环境 本书7~10章所附代码的调试环境 Windows家族,.NET Framework 2.0及以上版本 Visual Studio 2005及以上版本、ASP.NET 2.0及以上版本 本书14~16章所附代码的调试环境 Windows家族,Apache 2.0及以上版本 PHP 5.0及以上版本 本书17~18章所附代码的调试环境 JDK6.0 Eclipse3.2+Lomboz 本书19~21章所附代码的调试环境 IE 6.0及以上版本 文本编辑器 3.本书所附光盘范例 第7章(/07/) DataTypeApplication/Default.aspx 检查和转换数据 第8章(/08/) StringApplication/StringDealwith.aspx 字符串处理 StringBuilderApplication/DealWithStringBuilder.aspx 动态字符串处理 第9章(/09/) RegexApplication/Default.aspx 正则表达式类的应用 RegexApplication/GetPageHtmlData.aspx 获取网页的内容 第10章(/10/) ASPNETValidator/Compare.aspx 比较验证 ASPNETValidator/CompareCheck.aspx 数据类型检查 ASPNETValidator/CompareValue.aspx 值比较验证 ASPNETValidator/CustomClient.aspx 自定义客户端验证 ASPNETValidator/CustomServer.aspx 自定义服务器端验证 ASPNETValidator/NotNull.aspx 非空验证 ASPNETValidator/NotNullInitValue.aspx 不等于初始化值的验证 ASPNETValidator/RangeDate.aspx 日期范围验证 ASPNETValidator/RangeInt.aspx 整数范围验证 ASPNETValidator/RangeLetter.aspx 字母范围验证 ASPNETValidator/REDate.aspx 日期格式验证 ASPNETValidator/REEmail.aspx 电子邮件格式验证 ASPNETValidator/REIdentity.aspx 身份证号码格式验证 ASPNETValidator/REInt.aspx 整数格式验证 ASPNETValidator/RENumber.aspx 数值格式验证 ASPNETValidator/REPhone.aspx 电话号码格式验证 ASPNETValidator/REUrl.aspx URL地址格式验证 ASPNETValidator/SummaryDialog.aspx 对话框式验证摘要 ASPNETValidator/SummaryPage.aspx 网页式验证摘要 第11章(/11/) 判断是否对象.asp 判断是否对象 判断是否为数值.asp 判断是否为数值 判断是否数组.asp 判断是否数组 判断是否为日期.asp 判断是否为日期 判断是否为空.asp 判断是否为空 判断是否为空值.asp 判断是否为空值 获取变量类型信息.asp 获取变量类型信息 第12章(/11/) 从截取字符串.asp 从截取字符串 切分字符串.asp 切分字符串 删除字符串前后导空格.asp 删除字符串前导空格.asp 删除字符串后导空格.asp 反向截取字符串.asp 反向查找字符串.asp 字符串倒序排列.asp 字符串大写转化.asp 字符串小写转化.asp 字符串替换.asp 将数组元素连接为字符串.asp 构造制定字符串.asp 正向截取字符串.asp 正向查找字符串.asp 获取字符串长度.asp 第13章(/14/) Matches集合与Macth对象.asp 指定忽略大小写.asp 获取Matches集合.asp 进行正则匹配替换.asp 进行正则匹配检验.asp 第14章(/14/) 浮点型数据测试.php 浮点型数据测试 字符串数据测试.php 字符串数据测试 数组数据测试.php 数组数据测试 对象测试.php 对象测试 数据类型识别.php 数据类型识别 强制类型转化.php 强制类型转化 计算圆周面积程序.php 计算圆周面积程序 字符串转化.php 字符串转化 数值转化.php 数值转化 数组转化.php 数组转化 第15章(/15/) 计算字符串的长度.php 计算字符串的长度 访问单个字符.php 访问单个字符 检索字符的位置.php 检索字符的位置 截取子字符.php 截取子字符 查找字符串出现的次数.php 查找字符串出现的次数 替换子字符串.php 替换子字符串 按照特定字符进行分割.php 按照特定字符进行分割 按照指定数目进行分割.php 按照指定数目进行分割 删除字符串的空白.php 删除字符串的空白 字符串的填补.php 字符串的填补 字符串大小写的转换.php 字符串大小写的转换 字符串的反转.php 字符串的反转 字符串按ASCII码顺序比较.php 字符串按ASCII码顺序比较 字符串按“自然排序”法比较.php 字符串按“自然排序”法比较 根据单词的发音比较.php 根据单词的发音比较 根据单词的相似性比较.php 根据单词的相似性比较 查找子字符串.php 查找子字符串 搜寻出现的字符.php 搜寻出现的字符 字符匹配.php 字符匹配 字符替换.php 字符替换 字符串翻译.php 字符串翻译 格式化数字.php 格式化数字 格式化表单字符串.php 格式化表单字符串 24.php 格式化字符串 25.php 格式化HTML实体 26.php HTML标签的清理 解析URL字符串.php 解析URL字符串 解析查询字符串.php 解析查询字符串 URL编码处理.php URL编码处理 查询字符串的构造.php 查询字符串的构造 第16章(/16/) 字符串模式匹配.php 字符串模式匹配 字符串大小模式匹配.php 字符串大小模式匹配 日期字符串模式匹配.php 日期字符串模式匹配 模式替换.php 模式替换 模式分割.php 模式分割 正则表达式匹配.php 正则表达式匹配 其他的正则表达式匹配.php 其他的正则表达式匹配 取得正则表达式的全部匹配.php 取得正则表达式的全部匹配 返回与模式匹配的数组单元.php 返回与模式匹配的数组单元 正则表达式的替换.php 正则表达式的替换 正则表达式的拆分.php 正则表达式的拆分 表单验证.php 表单验证 UBBCode.php UBB代码 ubb.html UBB代码输入界面 ubb.php UBB代码输出界面 Apache日志分析.php Apache日志分析 第17章(/17/) JSPExample1.jsp JSP页面整型数据的使用 JSPExample2.jsp JSP页面循环输出整型数据 JSPExample3.jsp 计算一光年的距离 JSPExample4.jsp JSP页面计算圆的面积 JSPExample5.jsp JSP页面字符数据的简单使用 JSPExample6.jsp 结合布尔类型变量判断学生成绩等级 JSPExample7.jsp text.html页面提交至该页,并显示提交数据 text.html 页面数据提交至JSPExample7.jsp JSPExample8.jsp 不同类型混合运算自动转换 JSPExample9.jsp 不同类型混合运算强制转换 JSPExample10.jsp 字符串类型与其他数据类型的转换 JSPExample11.jsp 解析字符串的子字符串 stringOP.html 页面数据提交至JSPExample12.jsp JSPExample12.jsp 字符串替换 JSPExample13.jsp 字符串大小写转换、反转等操作 logon.html 页面数据提交至JSPExample14.jsp JSPExample14.jsp 字符串数据的比较 JSPExample15.jsp 字符串数据的连接 JSPExample16.jsp 字符串数据的格式化 第18章(/18/) 1.jsp Pattern对象使用split方法示例一 2.jsp Pattern对象使用split方法示例二 3.jsp Matcher对象使用appendReplacement方法示例 4.jsp Matcher对象使用groupCount方法示例 5.jsp Matcher对象使用find方法示例 6.jsp Matcher对象使用group方法示例 7.jsp 字符串对象使用split方法 8.jsp Matcher对象使用replaceAll方法示例 9.html 页面数据提交至9.jsp 9.jsp 利用正则表达式验证邮箱地址 10.html 页面数据提交至10.jsp 10.jsp 利用正则表达式验证URL地址 11.html 页面数据提交至11.jsp 11.jsp 利用正则表达式验证电话号码 第20章(/20/) 从字符串提取子串(1).html 从字符串提取子串(1) 从字符串提取子串(2).html 从字符串提取子串(2) 从字符串提取子串(3).html 从字符串提取子串(3) 删除或替换数组部分数据.html 删除或替换数组部分数据 删除数组最后一个元素.html 删除数组最后一个元素 删除数组的第一个元素.html 删除数组的第一个元素 反序排列数组的元素.html 反序排列数组的元素 在字符串上加入超级链接.html 在字符串上加入超级链接 在字符串两端加上小字体标记.html 在字符串两端加上小字体标记 在字符串两端加入上标标签.html 在字符串两端加入上标标签 在字符串两端加入下标标签.html 在字符串两端加入下标标签 在字符串两端加入斜体标签.html 在字符串两端加入斜体标签 在字符串两端加入锚点标志.html 在字符串两端加入锚点标志 在字符串的两端加上固定宽度字体标记.html 在字符串的两端加上固定宽度字体标记 在字符串的两端加上粗体标志.html 在字符串的两端加上粗体标志 在字符串的两端加入下划线标记.html 在字符串的两端加入下划线标记 在指定字符串的两端加上大字体标志.html 在指定字符串的两端加上大字体标志 在数组前面插入数据.html 在数组前面插入数据 对数组的元素进行排序.html 对数组的元素进行排序 将一个或多个字符串连接到当前字符串的末尾.html 将一个或多个字符串连接到当前字符串的末尾 将字符串分割并存储到数组.html 将字符串分割并存储到数组 将字符串转化为大写格式.html 将字符串转化为大写格式 将字符串转化为小写格式.html 将字符串转化为小写格式 将指定的数据添加到数组.html 将指定的数据添加到数组数组元素连接为字符串.html 将数组元素连接为字符串 替换字符串指定的内容.html 替换字符串指定的内容 根据指定的Unicode编码返回一个字符串.html 根据指定的Unicode编码返回一个字符串 比较两个字符串的大小.html 比较两个字符串的大小 获取字符串的长度.html 获取字符串的长度 获取指定位置的字符的Unicode编码.html 获取指定位置的字符的Unicode编码 获取指定字符(串)第一次在字符串出现的位置.html 获取指定字符(串)第一次在字符串出现的位置 获取数组的一部分数据.html 获取数组的一部分数据 设置字符串输出时的前景色.html 设置字符串输出时的前景色 设置字符串输出时的字体大小.html 设置字符串输出时的字体大小 返回一个包含数组全部数据的字符串.html 返回一个包含数组全部数据的字符串 返回字符串指定位置处的字符.html 返回字符串指定位置处的字符 连接其他数组到当前数组末尾.html 连接其他数组到当前数组末尾 第21章(/21/) 判断字符串是否存在匹配内容.html 判断字符串是否存在匹配内容 对字符串进行匹配检测.html 对字符串进行匹配检测 替换字符串的指定内容.html 替换字符串的指定内容 编译正则表达式.html 编译正则表达式 获取与正则表达式进行匹配检测的字符串.html 获取与正则表达式进行匹配检测的字符串 获取匹配内容右侧的字符信息.html 获取匹配内容右侧的字符信息 获取匹配内容左侧的字符信息.html 获取匹配内容左侧的字符信息 获取匹配的内容的最后一个索引位置.html 获取匹配的内容的最后一个索引位置 获取子匹配的结果.html 获取子匹配的结果 获取字符串所有的匹配信息.html 获取字符串所有的匹配信息 获取最近一次匹配的内容.html 获取最近一次匹配的内容 获取最近一次匹配的最后一个子匹配.html 获取最近一次匹配的最后一个子匹配 获取第一次匹配的起始位置(1).html 获取第一次匹配的起始位置(1) 获取第一次匹配的起始位置(2).html 获取第一次匹配的起始位置(2)

ASP页面内VBScript和JScript的交互

ASP 具备管理不同语言脚本程序的能力,能够自动调用合适的脚本引擎以解释脚本代码和执行内置
函数。ASP开发环境提供了两种脚本引擎,即VBScript(缺省)和JScript。不过,开发者并没有被限制
于只能使用这两种语言,只要能够提供合适的ActiveX脚本引擎就能使用任何脚本语言。
  脚本语言的选择往往基于许多不同原因:它可能是开发者最为熟悉的语言,可能是对给定工程来说
能够提供最多特色支持的,也有可能是最具效率的。不同的环境和要求使得我们在选择脚本语言时注重
不同的因素,同时也使得我们在某些时候面临选定的脚本语言不能直接提供其它语言固有的函数这一问
题,或某个脚本已经写成但用的却是另外一种脚本语言。
  此时应该怎么办?是否需要用当前所用的脚本语言重写这些脚本?或者说,是否有可能在一种脚本
语言调用其它脚本语言的内置函数?本文要说明的就是在ASP应用如何让VBScript脚本和JScript脚
本交互以最大限度地获得两种脚本语言的特色支持。

  一、VBScript和JScript的内置函数
  在VBScript和JScript ,有大量的内置函数功能是相同或类似的。然而,在一种脚本语言内置
的函数并非总是在另外一种脚本语言也有对应的函数。例如,VBScript提供了许多用于操作字符串和
格式化数据的函数,这些函数在JScript并不存在。这些函数包括StrReverse()、Filter()以及Forma
tCurrency()等。在另一方面,JScript所提供的用于管理数组、字符串编码等的函数在VBScript也没
有定义,如join()、reverse()、pow()、位操作、escape()和unescape()等。
   那么,如果在JScript程序需要一个VBscript函数该怎么办呢?

   二、异种脚本的互相调用
   如果需要在JScript脚本调用一个VBScript内置的函数,则应该写一个VBScript用户定义函数
(在这里调用VBScript内置函数),然后在JScript脚本象调用公用JScript函数一样调用这个用户定
义函数。

例如,如果要调用的VBSCript内置函数是FormatCurrency(),则可以声明如下自定义函数:

接下来在JScript代码就可以象普通JScript 函数一样调用FormatValue()了。用类似的方法也可
以实现VBScript代码调用JScript函数。
  应用同样的规则,我们可以在任何脚本内调用任何用户定义函数。不过,从JScript 脚本内调用一
个不带参数的VBScript过程(Sub)时应略加注意,此时在JScript应该象调用一个不带参数的JScrip
t函数一样调用它,如用foo()调用VBScript Sub foo过程。

  三、数据共享
  在某些情形下混合运用VBScript和JScript 函数是非常有用的,但在不同语言脚本之间共享数据也
可能很有用。实现这种共享的方法很简单:不管使用的是什么语言,只要是在页面级声明的变量就可以
任意引用。
  对象的使用方法也相似,可以任意选用合适的语言读取、修改属性或调用对象的方法。当然给定对
象的属性和方法是由创建该对象实例的语言所定义的。正如上例VBScript的过程调用,当从JScript
调用一个不带参数的VBScript对象的方法时,其调用方法也遵从JScript的调用规则,反之亦然。

  四、数组管理
  数组共享问题稍微复杂一点。虽然数组也象其它变量一样可以在不同语言脚本之间共享,但必须注
意兼容方面的问题。
  VBScript数组在JScript下可以用VBScript的符号引用,即用myArray(2)引用数组元素而不是JScri
pt的数组元素引用符号myArray[2]。此外,还可以使用一个特殊的JScript对象——VBArray对象将VBSc
ript数组转换为JScript数组。下面的代码从VBScript数组myVBArray创建JScript数组myJSArray:
 var Temp = new VBArray(myVBArray)
 var myJSArray
 myJSArray = Temp.toArray()
上述代码首先创建一个临时的VBArray对象,然后使用它的toArray()方法将自己转换为JScript 数
组。此后就可以象普通JScript数组一样用myJSArray,如 myJSArray[1]。但应当注意的是,toArray()
方法将把一个多维的VBArray转换为一维的JScript数组

从VBScript引用JScript数组更为复杂。虽然在VBScript我们可以直接访问JScript数组相关的
方法和属性,但没有直接访问JScript数组的单个元素的方法。也就是说,我们可以在VBScript 脚本
读取JScript数组的长度属性,如下所示:

x = myJSArray.length

  但无法直接读取该数组的单个元素,下面的VBScript代码是不正确的:

  x = myJSArray(3)

解决该问题的一个可行的方法是执行一个转换过程,如下面的代码所示,此处假定VBScript是缺省
的脚本语言:
<%
  Dim Temp
  Dim myVBArray
  Temp = myJSArray.join(", ")
  myVBArray = Split(Temp, ", ")
%>
此处的JScript join()方法将数组myJSArray元素转换到一个以逗号为分割符的字符串, VBScript
Split()函数将字符串转换为VBScript数组。注意这里我们是在VBScript环境下调用JScript的join方法
依照此例,我们可以通过自定义VBScript函数来模拟JScript的VBArray对象的toArray()方法以实现JSc
ript数组到VBScript数组的转换。

五、小结
  在同一个ASP 工程内灵活选用不同脚本语言具有许多优点,这些脚本之间的交互能力更为开发者集
成不同语言所提供的内置函数和其它功能带来了更多的机会,同时也使得实现既可用于VBScript也可用
于JScript环境的通用脚本库成为可能。
Asp 这个老古懂估计没几个人在用了。几年没写代码了,最近要弄个小东西,给手机端提供json数据,不想麻烦别人,自己又只会asp,没办法就自己动手了。网上找了好久都没有一个人能完整的把asp操作json说清楚。最后还是自己搞定的。整出来共享给大家。(ps,还有个原因csdn的分不够用啦,大家看着给点吧。写这个说明文档都用了我两小时。^_^) 以下是示例代码 '说明:json.asp引用了json.js.asp '其他见文档 '手机很多时候不认gb2312,跳入json的坑就忘记gb2312吧,讨厌的是,如果代码报错,iis会输出gb2312,结果就是乱码,有点烦。 '自己想办法解决吧 response.Charset= "utf-8" dim strJsonData,ovbJson,j dim arrTemp,varname ,i set ovbJson=new vbJson 'asp recrodset和数组转json字符 arrTemp=array("a","{""oa"":""我是oa""}","c") strJsonData=ovbjson.toJson(empty,arrTemp,true) '转换为Json格式的字符串,有兴趣可以自己输出看看是什么 set j=json.parse(strJsonData) '序列化为json对象(或者是数组对象) response.Write(j.get(1)&"") '别用vb数组来存json对象,不然得每个元素去重新序列化,这里如果想j.get(1).oa就不行了。必须对j.get(1)单独序列才行 '----recrodset就不演示了,懒得连数据库 '---自定义操作方法的演示--- strJsonData="{a:1,b:[{c:'我是数组的点c'}]}" set j=json.parsestr(strJsonData) response.Write(j.b.get(0).c&"") '添加节点的时候注意,如果值是null,会被忽然,这个节点会不存在的。在添加之前记得先检查值 set j=json.add(j,"new","我是新加的节点") response.Write(j.new&"") '下面这句注掉了,是因为这个操作是无效的因为j.b是数组,不能add 'set j=json.add(j.b,"new1","我是加不进的节点") set j.b=j.b.put(j.b.length,j.b.get(0)) response.Write(j.b.get(1).c&",我是新加的数组元素") '因为数组的get方法不允许被赋值,所以不能像下面这样写 'set j.b.get(0)=json.add(j.b.get(0),"new","我会报错") json.add j.b.get(0),"new","我是新加的new我不会报错" json.add j.b.get(0),"new1","我是通过变量取出来的哦" response.Write(j.b.get(0).new&"") varname="new1" response.Write(json.byname(j.b.get(0),varname)&"") for i=0 to j.b.length-1 varname="c" response.Write(json.byname(j.b.get(i),varname)&"我是循环出来的c,索引:"&i&" ") next '最后完整的输出给手机就这样: response.Write json.stringify(j)

28,391

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧