ASP学习:VBScript中的eval()函数

vbscript|函数

    Javascript中的eval函数让我们可以很方便地操作一系列变量(a1,a2,a3,……)。自从VBScript 5.0之后,我们也可以ASP中使用这个功能了!
    很感谢编程爱好者论坛上的朋友提出的难题,让我多学到了这个很有用的函数。
    和Javascript一样,eval()也是计算其中字符串所代表变量的值并返回,如eval("a"&"1")返回a1的值。不过这个eval()的功能和Javascript比起来还是有差距的。我试了一下,发现主要有以下一点:VBScript中的eval函数只能读取返回值而不能为其中所代表变量赋值,即我们不可以用eval("a"&"1")为a1赋值。
    那位朋友提出的问题,是将接收到的一个长字符串("2005081200507120050612005051")按7个字符为一组依次赋给一系列变量a1,a2,a3,…。 
    如果是赋值予数组,那我们可以建立动态数组:
    <%
    use="2005081200507120050612005051"
    dim myarray()
    reDim myarray(0)
    for i=1 to Len(use) step 7
        reDim myarray(ubound(myarray)+1) '将数组容量加1
        myarray(ubound(myarray))=mid(use,i,7)
    next
    %>
    现在要赋值给系列变量,我们得引入另外一个函数execute()。这个函数的作用是将其中字符串视为VBScript语句执行,如execute("a"&"1="&100")是执行以下语句:a1=100。
    据此,我们可以按那位朋友的要求写出以下代码:
    <%
    use="2005081200507120050612005051"
    dim n '作为变量a后的索引1,2,3,…
    n=1
    for i=1 to Len(use) step 7
        execute "dim a"&CStr(n)&":a"&CStr(n)&"="&mid(use,i,7)
        '执行语句dim a:a1=mid(use,i,7)
        n=n+1
    next
    %>

时间: 2024-08-02 21:51:43

ASP学习:VBScript中的eval()函数的相关文章

深入认识javascript中的eval函数_javascript技巧

1)介绍javascript中的eval函数的用法 (2)如何在函数内执行全局代码 ►先来说eval的用法,内容比较简单,熟悉的可以跳过. eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. 需要特别注意的是对象声明语法"{}"并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: 复制代码 代码如下: var code1='"a" + 2'; //表达式 var c

javascript中的eval函数 教程

(1)介绍javascript教程中的eval函数的用法 (2)如何在函数内执行全局代码 ?先来说eval的用法,内容比较简单,熟悉的可以跳过. eval函数接收一个参数s,如果s不是字符串,则直接返回s.否则执行s语句.如果s语句执行结果是一个值,则返回此值,否则返回undefined. 需要特别注意的是对象声明语法"{}"并不能返回一个值,需要用括号括起来才会返回值,简单示例如下: var code1='"a" + 2';    //表达式 var code2=

ASP中的EVAL函数使用教程

 近两日,学习了ASP的EVAL函数.感觉上很实用,如果使用得当,能减轻很多代码的编写量,也使得代码更加简洁明了. EVAL函数的原型: EVAL(expression) 其中expression是字符串参数,可以是表达式,可以是变量,甚至可以是语句.但都是以字符串的形式出现. 例如 b=EVAL("A=5") 这句代码意思是判断变量A的值,是否等于5,等于返回TRUE,不等于返回FALSE.等同于b=(A=5).不过,该函数的灵活就在于他的参数是以字符串的形式存在的.这样我可以构造字

asp 获取字符串中url地址函数

asp教程 获取字符串中url地址函数 本文章提供了三款利用asp的正则获取字符串中url地址自定义函数哦,三个方法的实现原理都是获取以http开的url地址哦. on error goto z dim url,key,wwwname url=request.servervariables("server_name") if instr(url,".")>0 then key=split(url,".") wwwname=key(0) ww

JavaScript中的eval()函数详解_基础知识

eval("1+2"),-> 3       动态判断源代码中的字符串是一种很强大的语言特性,几乎没有必要在实际中应用.如果你使用了eval(),你应当仔细考虑是否真的需要使用它. 一.eval()是一个函数还是一个运算符 eval()是一个函数,但由于它已经被当成运算符来对待了..JavaScript语言的早期版本定义了eval函数,现代JavaScript解释器进行了大量的代码分析和优化.而eval的问题在于,用于动态执行的代码通常来讲不能分析,换句话说,如果一个函数调用了e

javascript中的eval函数

eval()只有一个参数,如果传入的参数不是字符串,则直接返回这个参数.否则会将字符串当成js代码进行编译,如果编译失败则抛出语法错误(SyntaxError)异常.如果编译成功则开始执行这段代码,并返回字符串中的最后一个表达式或语句的值:如果最后一个表达式或语句没有值,则最终返回undefined.如果字符串抛出异常,则该异常将把该调用传递给eval(); eval()最为重要的是,它使用了调用它的变量作用域环境,即它查找变量的值和定义新变量和函数的操作和局部作用域的代码完全一样. eval(

JavaScript中的eval()函数使用介绍_javascript技巧

在JavaScript中,可以使用eval()函数来解析字符串中的JavaScript代码,并返回相应的代码执行结果: 复制代码 代码如下: console.log(eval("42 * 2"));//84 就本质而言,eval()是JavaScript全局对象的一个函数.比如,上述代码等价于: 复制代码 代码如下: console.log(this.eval("42 * 2"));//84 不过在使用eval()语句时,一般都采用上述第一种做法,也即忽略全局对象直

学习Flash8中的setTimeout函数的用法

函数 在Flash8中,有个未公开的函数setTimeout,执行功能就是在设定的时间到了以后,调用一次设定的函数. 这样对于只需要调用一次的时间触发事件,我们再也不需要用 setInterval 函数配合  clearInterval 函数来处理了.  很好用,该函数属于未公开的函数的原因,很大可能是因为在flash 8.5中属于非推荐语法,所以隐藏了. 用法: function openWebsite(url:String) { getURL(url, "_blank");}web

js中的eval()函数把含有转义字符的字符串转换成Object对象的方法_javascript技巧

在项目中遇到一个问题:在前端需要把后台返回的json字符串转换成一个js中的json对象,可是从后台返回的字符串中含有转义字符:\", 在网上查到方法如下,可以处理这种情况: var page = eval("("+data+")");