代码之家  ›  专栏  ›  技术社区  ›  quakkels

如何在VBScript函数中使用ByVal?

  •  0
  • quakkels  · 技术社区  · 14 年前

    <%
    Option Explicit
    
    dim PublicDict
    
    Set PublicDict = createobject("Scripting.Dictionary")
    PublicDict.Add "MyKey", "What's up doc?"
    
    response.write OutputStringFromDictionary( PublicDict ) & "<br />"
    response.write PublicDict("MyKey")
    
    Set PublicDict = nothing
    
    
    Function OutputStringFromDictionary( ByVal DictionaryParameter )
    
        DictionaryParameter("MyKey") = replace(DictionaryParameter("MyKey"), "'", "''")
    
        OutputStringFromDictionary = DictionaryParameter("MyKey")
    
    end Function
    %>
    

    此脚本将这些行输出到浏览器:

    医生,你好吗?

    我希望得到:

    医生,你好吗?

    我怎样才能做到 OutputStringFromDictionary 不修改原词典吗?

    1 回复  |  直到 14 年前
        1
  •  2
  •   davidsidlinger    14 年前

    你必须以某种方式克隆实际的数据。按值传递字典可防止修改字典本身,但仍有指向字典引用的相同项的指针。你不能修改字典,但你 可以 修改它包含的项。

    推荐文章